三、Python之文件读写
序言
程序设计说到底就是 “输入——>处理——>输出” 的过程,我们大多时候只关注“处理”这个步骤而忽视了“输入”与“输出”,其实为了数据永久存储和交流,“输入”和“输出”同样重要。
打开文件
file=open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opneer=None)
# 第一个参数是文件名(包括扩展名),如果不带路径的话就在当前文件夹寻找。第二个参数是打开模式'r'只读;'w'写入,会覆盖已存在的文件;'a'追加写入,不会覆盖已存在的文件;'+'可读可写
关闭文件
file.close() #注意关闭文件很重要,相当于ctrl+s
读取与定位文件
file.read(byte_num) #参数表示需要读取的字节数。如果不加参数,默认将文件中全部内容读取出来,文件指针指向文件末尾。
file.readline() #读取一行内容(遇到'\n'停止)
list(file) #将整个文件内容放到一个列表中(以\n分割)
file.seek(offset,from) #文件光标定位,从from(0表示文件开头;1表示文件当前指针位置;2表示文件结尾)偏移offset个字节
# 文件是一个可迭代对象
file.seek(0,0) #将文件光标定位到文件开头
for each_line in file:
print(each_line)
文件写入
#以'w'或'a'模式打开文件,注意前者写入时会清空之前的内容,后者会在之前的内容后追加
file.write('你把灵魂出卖给了魔鬼!')
file.close()
文件系统——OS模块
我目前还用不到,不写了,以后用到再来学。
快速数据打包&解包——pickle模块
当要保存列表、字典或者类等实例时,普通的文件读写方式操作起来会非常繁琐。python提供了将对象打包为二进制存储以及解包的模块,pickle。
# 数据打包
import pickle
my_list=[12,'张三',(12,13),{'孔子':'亲亲相隐'}]
pickle_file=open('E:\\my_list.pkl','wb') #以二进制可写的方式打开文件,如果文件不存在就创建
pickle.dump(my_list,pickle_file) #将my_list保存
pickle_file.close()
# 数据解包
import pickle
pickle_file=open('E:\\my_list.pkl','rb') #以二进制可读的方式打开文件,如果文件不存在就创建
pickle.load(pickle_file) #将my_list解包打开
print(my_list)

浙公网安备 33010602011771号