从入门到入狱-------包和文件操作

入门 N day

----这个实际操作了过后更能帮助理解,光看文字着实枯燥—

一个包含有__init__.py文件的文件夹就是包
包是用来对py文件(模块)进行分类或者封装
–假如–
创建有一个名为:names 的包
里面有模块:xiaoming.py 的文件和xiaohong.py
xiaoming.py文件里面的变量:name1=‘小明’

怎么使用包中的模块

'''
方式一:直接导入
import 包名.模块名 ---导入
import names.xiaoming
包名.模块名.变量  ---使用包里面的模块中的变量
print(names.xiaoming.name1)  # '小明'
方式二:导入后重命名
import 包名.模块名 as 新名字  ---导入后重命名
import names.xiaoming as xm_name
新名字.变量   ---使用
print(xm_name.name1)  # '小明'

方式三:
from 包名 import 模块名1,模块名2,模块名3,模块名4,....  ---导入包中多个模块
模块名.变量  ---使用变量

方式三:
from 包名 import 模块名1,模块名2,模块名3,模块名4,....  ---导入包中多个模块
模块名.变量  ---使用变量

方式五:
from 包名.模块名 import 变量,....  ---导入模块中多个变量
直接使用变量
'''

定制包的__init__.py文件

在__init__中定义变量,可以直接以包的方式提供给外部使用

# 数据持久化
'''
计算机存储数据
程序中的数据默认情况下都是保存在运行内存中,运行中的数据在程序结束后会自动销毁
保存在磁盘中的数据,除非手动删除,或者磁盘损坏,数据会一直存在
持久化
将程序中的数据通过文件保存在磁盘中这个过程就是数据持久化的过程
持久化的工具:
普通的文本文件(.txt)、数据库文件(.sqlite、 .db、)、json文件、plist文件、csv文件等
'''
# 操作文件内容
'''
基本步骤:打开文件 --> 读/写操作 ---> 关闭文件
'''
# python实现文件操作
# 打开文件 open()
'''
open(file,mode='r',....,encodig=None)
以指定的方式打开指定文件返回(返回的是文件对象)
file --- 字符串,需要打开的文件路径
    绝对路径:文件在计算机中的全部路径
    相对路径:用.来代替文件全路径的部分,只写部分路径
         .     表示当前代码文件目录(可以省略不写)
         ..    表示当前代码文件目录的上层目录

'''
# 绝对路径
cd = r'C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe E:/Python2004/01语音基础/day13-包和文件操作/01-包的使用.py'
# 相对路径
cd2 = r'./01-包的使用.py'
cd3 = r'../day13-包和文件操作/01-包的使用.py'

'''
mode --- 字符串,打开方式(决定打开文件后文件能支持的操作,决定读写数据的类型)
         'r' --- 表示只读(默认)
         'w' --- 表示只写,打开过后清空原文件
         'a' --- 表示只写,打开过后会保留原文件的内容
         
         't' --- 表示文本数据,对应str类型(默认)
         'b' --- 表示二进制数据,对应bytes类型

注意:当打开的文件不存在时
open('./01-包的使用.py','r')  # FileNotFoundError 只读的时候会报错
open('./text.txt','a')    # 进行写的操作,则会新建一个文件
open('./text.txt','w')    # 进行写的操作,则会新建一个文件
注意:
当打开的文件是文本文件打开的时候可以是'b'可以是't'
当打开的文件是非文本文件(例如:图片,压缩包等)只能用'b'
'''
'''
f=open('./text.txt','a')
result=f.write('\n-----w------')
f=open('./text.txt')
print(f.readline())

f.close()
'''

'''
encoding --- 设置文本文件的编码方式,一般使用'utf-8'
创建文件和打开文件、读和写对应的编码方式要一致
打开的时候如果带'b',不能设置encoding
'''
# 读写操作
'''
读:  
文件对象.read() ---  从读写位置开始读到文件结尾
文件对象.readline() ---  读一行,只适用于以't'打开的文本文件
文件对象.seek(0)  ---     将读的位置移动到到文件开头
    (读的方式打开默认在开头,写的时候默认在结尾)
写:
文件对象.write(数据) --- 将指定数据写入文件中(从读写位置开始写)
'''


# 关闭文件
'''
文件对象.close()
文件关闭后不能进行读写操作
'''
"""_author_:段松
"""
# 数据的持久化
'''
创建一个文件用来保存需要持久化的数据
需要这个数据的时候从文件中去获取这个数据
如果在程序中对这个数据进行修改,需要将最新的数据更新到文件中
'''
# f=open('text.txt')
# num=int(f.read())
# num+=1
# print(num)
# f=open('text.txt','w')
# f.write(str(num))
# f.close()
# 练习2:添加学生
# 每运行一次程序添加一个学生,并且打印已经添加过的所有的学生
name= input('请输入名字:')
f=open('text.txt')
f1=f.read()
name_list=list(f1)

name_list.append(name)
print(name_list)
f=open('text.txt','a')
f.write(name)

猜你喜欢

转载自blog.csdn.net/weixin_44628421/article/details/109102343