WELCOME

不积跬步,无以至千里;不积小流,无以成江海。

Python文件操作

1.文件的读取

  open(file,mode,buffering,encoding)

  文件的读写方式

  打开方式 指针位置 读取文件类型
r 只读(默认模式) 指针在文件开头,文件不存在就会报错

1. 默认读取文件都是ASCII编码的文本文件


2. 如果读取的文件是二进制文件,如图片,视频需要使用'rb'模式


3. 读取非ASCII编码的文本文件,必须 以二进制模式打开,再解码


f=open('E:/test.txt','rb')


f.read().decode('gbk')

rb 二进制格式读(文件或图片) 指针在文件开头,文件不存在就会报错
r+ 可读可写 指针在文件开头,文件不存在就会报错
rb+ 二进制格式可读可写 指针在文件开头,文件不存在就会报错
w 只写 文件存在,则覆盖,文件不存在则创建
wb 二进制格式写(文件或图片) 文件存在,则覆盖,文件不存在则创建
w+ 可读可写 文件存在,则覆盖,文件不存在则创建
wb+ 二进制格式可读可写 文件存在,则覆盖,文件不存在则创建
a 追加 文件存在,指针在文件尾追加;不存在,则创建
ab 二进制格式追加 文件存在,指针在文件尾追加;不存在,则创建
a+ 可读可写 文件存在,指针在文件尾追加;不存在,则创建
ab+_ 二进制格式可读可写 文件存在,指针在文件尾追加;不存在,则创建

 

 
stream.read() 将文件中所有的内容都读取出来。
stream.readline() 将文件一行一行的读取出来
stream.readable() 将文件读取出来,放入一个列表中
stream.readlines 判断这个文件是否可以被读取,返回值为True和False
1 stream = open(r'E:\Desktop\Desktop\Python.txt') 2 3 container = stream.read() # 将文件中所有的内容读出来 4 print(container) 5 ''' 6 hello word 7 hello Python 8 I am a boy 9 ''' 10 result = stream.readable() # 判断文件是否可以被读取,True False 11 print(result) 12 '''True''' 13 14 line = stream.readline() # 将文件内容一行一行的读出来 15 print(line) 16 ''' 17 hello word 18 ''' 19 lines = stream.readlines() # 读取文件,将内容保存在列表中,默认后面带上换行 20 print(lines) 21 for i in lines: 22 print(i) 23 25 ''' 26 ['hello word\n', 'hello Python\n', 'I am a boy'] 27 hello word 28 29 hello Python 30 31 I am a boy 32 33 '''


file对象的属性

file.read([size]) 将文件数据作为字符串返回,可选参数size控制读取的字节数 file.readlines([size]) 返回文件中行内容的列表,size参数可选 file.write(str) 将字符串写入文件 file.writelines(strings) 将字符串序列写入文件 file.close() 关闭文件 file.closed 表示文件已经被关闭,否则为False file.mode Access文件打开时使用的访问模式 file.encoding 文件所使用的编码 file.name 文件名 file.newlines 未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表 file.softspace 为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

 

1 stream = open(r'E:\Desktop\Desktop\Python.txt', mode='w', encoding='utf-8') 2 result = stream.write(s) 3 print(result) 4 stream.writelines(['hello world\n', 'hello Tom\n', 'hello Kate\n']) 5 stream.close()

 

  复制文件

  with open(文件位置,读取方式) as file:

 

1 # with 结合 open 使用,可以帮助我们自动释放资源 2 with open(r'E:\Desktop\Desktop\girl.jpg', 'rb') as stream: 3 container = stream.read() # 读取文件内容 4 5 with open(r'E:\girl.jpg', 'wb') as wstream: 6 wstream.write(container) 7 print('文件复制完成!')

 


__EOF__

本文作者Ambitious
本文链接https://www.cnblogs.com/ambitiousPlus/p/16050049.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Ambitious~  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示