Python3基础-文件操作
对文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
打开文件
open 函数
你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
f = open(file_name [, access_mode])
各种打开模式
- r ===以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
- w ===打开一个文件只用于写入,如果文件不存在将新建文件,文件存在则覆盖
- a ===打开一个文件追加内容(append)不存在则创建;存在则只追加内容
"+" 表示可以同时读写某个文件
- r+ ===打开一个文件用于读写,文件指针在开头,做写操作时会由前往后开始覆盖
- w+ ===打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
- a+ ===打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
"U"表示在读取时,可以将 \r . \n . \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb===以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
- wb===以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
File对象的属性
file.closed ===返回true如果文件已被关闭,否则返回false。
file.mode ===返回被打开文件的访问模式。
file.name ===返回文件的名称。
关闭文件
file.close()
文件写操作
file.write()
文件读操作
file.read()
文件定位
file.tell()===tell()方法告诉你文件内的当前位置
sile.seekoffset [,from])===方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。
其他方法
file.readline([size])=====读取整行,包括 "\n" 字符。
#file.txt
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
>>>f=open('file.txt','r')
>>>print(f.readline())
1:www.runoob.com
>>>print(f.readline(5))
2:www
>>>f.close()
file.readlines([size])=====读取所有行并返回列表
#file.txt
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
>>>f=open('file.txt','r')
>>>print(f.readlines())
['1:www.runoob.com\n', '2:www.runoob.com\n', '3:www.runoob.com\n', '4:www.runoob.com\n', '5:www.runoob.com']
>>>f.close()
file.writelines(sequence)===向文件写入一个序列字符串列表
>>>f=open('file.txt','r')
>>>seq=['1:www.runoob.com\n', '2:www.runoob.com\n', '3:www.runoob.com\n', '4:www.runoob.com\n', '5:www.runoob.com']
>>>f.writelines(seq)
>>>f.close()
with语句
为了避免打开文件后忘记关闭,可以通过管理上下文,即:
>>> with open('file.txt','r') as f:
>>> f.read()
……
总结
文件操作省资源,效率最快的方式:
>>> with open('file.txt','r') as f:
>>> for line in f:
>>> line.read()
>>> with open('file.txt','w') as f:
>>> for line in f:
>>> line.write()
Python3 File(文件) 方法
file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:
| 序号 | 方法及描述 |
|---|---|
| 1 |
关闭文件。关闭后文件不能再进行读写操作。 |
| 2 |
刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
| 3 |
返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 |
| 4 |
如果文件连接到一个终端设备返回 True,否则返回 False。 |
| 5 |
返回文件下一行。 |
| 6 |
从文件读取指定的字节数,如果未给定或为负则读取所有。 |
| 7 |
读取整行,包括 "\n" 字符。 |
| 8 |
读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。 |
| 9 |
设置文件当前位置 |
| 10 |
返回文件当前位置。 |
| 11 |
从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后 V 后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。 |
| 12 |
将字符串写入文件,没有返回值。 |
| 13 |
向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |

浙公网安备 33010602011771号