三、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)
posted @ 2021-08-22 18:45  王若虚  阅读(126)  评论(0)    收藏  举报