持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情
打开文件
文件对象名 = open('路径+文件名','打开模式') 若无路径则默认为当前文件夹 如 file = open(‘E://python333.txt’,‘r’) 打开记得关闭
打开模式 r 以只读方式打开(默认) w 以写入方式打开,会覆盖已存在的文件 x 如果文件已存在,使用此模式打开将异常 a 以写入模式打开,如果文件存在则在末尾追加写入 b 以二进制模式打开 t 以文本模式打开(默认) 、+ 可读写模式(可添加到其他模式中使用) U 通用换行符支持
| 读写模式 | 数据读写基本单位 | 操作权限 | 注意事项 |
|---|---|---|---|
| rb | 字节 | 读 | 读取信息,如果文件不存在报错 |
| wb | 字节 | 写 | 写入信息覆盖原始信息,如果文件不存在新建 |
| ab | 字节 | 追加写 | 写入信息到原信息末尾,如果文件不存在新建 |
| rb+ | 字节 | 读、写 | 读取信息,如果文件不存在报错 |
| wb+ | 字节 | 读、写 | 写入信息覆盖原始信息,如果文件不存在新建 |
| ab+ | 字节 | 读、追加写 | 写入信息到原信息末尾,如果文件不存在新建 |
| r | 字符 | 读 | 读取信息,如果文件不存在报错 |
| w | 字符 | 写 | 写入信息覆盖原始信息,如果文件不存在新建 |
| a | 字符 | 追加写 | 写入信息到原信息末尾,如果文件不存在新建 |
| r+ | 字符 | 读、写 | 读取信息,如果文件不存在报错 |
| w+ | 字符 | 读、写 | 写入信息覆盖原始信息,如果文件不存在新建 |
| a+ | 字符 | 读、追加写 | 写入信息到原信息末尾,如果文件不存在新建 |
文件对象方法
==文件指针:相当于书签,相当于光标==
-
file.close() 关闭文件
-
file.fileno() 返回文件的描述符(file descriptor,FD,整数值)
-
file.flush() 刷新文件的内部缓冲区,将在缓冲区的数据写入文件
-
file.isatty() 判断file是否是一个类设tty备,是返回true
-
file.next() 返回文件的下一行,或在没有其它行时引发StopIteration异常
-
file.read(size=-1) 从文件读取size个字节,当未给定size或给定负值时读取剩余的所有字节,然后作为字符串返回
-
file.readline(size=-1) 从文件中读取并返回一行(包括行结束符),或返回最大size个字节
-
file.readlines(sizhint=0) 读取文件的所有行并作为一个列表返回(包含所有的行结束符);如果给定sizhint且大于0,那么将返回总和大约为sizhint字节的行
-
file.seek(off, whence=0) 在文件中转移文件指针,从whence(0代表文件起始,1代表当前位置,2代表文件末尾)偏移off字节
-
file.tell() 返回当前在文件中的位置
-
file.truncate(size=file.tell()) 截取文件到最大size字节,默认为当前文件位置
-
file.write(str) 想文件写入字符串
-
file.writelines(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
文件对象名.closed 若文件已经关闭返回true 否则返回false 文件对象名.mode 返回文件打开模式 文件对象名.name 返回文件名
使用pickle模块
==需要导入== Import pickle
Pickle.dump(需要写入的对象,文件对象名) 将列表等类型以二进制写入文件
使用如
import pickle
List2 = [2,3,4,9]
Pi_file = open(‘my_file’,’wb’) #打开文件
pickle.dump(list,pi_file) #写入
Pi_file.close() #关闭文件
Pickle.load(文件对象名) 将文件中的二进制读取生成相应类型 使用如
import pickle
Pi_file = open(‘my_file’,’rb’) #打开文件
List2 = pickle.load(pi_file) #读取
Pi_file.close() #关闭文件
==with语句== with open(路径文件名,模式) as 文件对象
如 with open(‘E://python333.txt’,‘r’)as f with 会自动关闭文件,无需手动关闭
相关操作
如f为一个文件名 list(f)将文件内容转化为列表,一行为一个元素
for I in f : print(i) 按行迭代输出文件内容
最后
持续更新arduino 树莓派 python Linux c语言等等 接到有帮助的话 求点赞👍 求关注❤️ 求分享👥 有问题可以评论 点关注,不迷路 如果有任何错误,如何建议,请批评指教,不胜感激 !