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('文件复制完成!')

 

posted @ 2022-03-24 15:44  Ambitious~  阅读(58)  评论(0)    收藏  举报