1.8文件
2020-06-09 本文已影响0人
Benedict清水
一、文件
文件对象是python代码调用电脑上存放的外部文件的主要接口。它们能被用于读取和写入文本记录、音频片段、EXcel文档、保存邮件以及任何你保存在电脑上的东西。要创建一个文件对象,需要调用内置的open函数以字符串的形式传递给它一个外部文件名以及一个可选的表示处理模式的字符串。
- 打开文件
afile = open(filename,mode)
open函数的第一个参数是外部函数名,它可能包含有一个与平台相关的绝对或者相对目录路径前缀。如果没有这个目录路径,文件被默认存在当前工作目录下。
open函数的第二个参数是处理模式,通常用字符串'r'表示以输入模式打开文件(默认值),'w'表示以输出模式生成并打开文件,'a'表示在文件尾部追加内容并打开文件。
- 使用文件
open函数会返回一个文件对象,文件对象调用相应的方法来读取或者写入对应的外部文件。
inputFile = open(r"C:\spam.txt","r") #创建输入文件('r'代表读取)
aString = inputFile.read() #把整个文件读进一个字符串
aString = inputFile.read(N) #读取接下来的N个字符(一个或者多个)到一个字符串
aString = inputFile.readline() #读取下一行(包含换行符\n)到一个字符串
aList = inputFile.readlines() #读取整个文件到一个字符串列表(包含换行符\n)
outputFile = open(r"C:\spam.txt","w") #创建输出文件('w'代表写入)
aString = 'Hello world!'
outputFile.write(aString) #把字符串写入文件
aList = ['hello','world']
outputFile.writes(aList) #把列表内的所有字符串写入文件
- 文件迭代器最适合逐行读取
for line in open(r'myfile.txt','r'):
print(line ,end="")
- 内容是字符串,不是对象
- 文件是被缓冲的以及可定位的
- close 通常是可选的:回收时自动关闭
二、文件上下文管理器
文件上下文管理器让我们可以把文件处理代码包装到一个逻辑层,以确保在退出之后一定会自动关闭文件,而不是依靠垃圾回收时的自动关闭。
with open(r'C:\code\data.txt','r') as fb:
for line in fb:
print(line ,end="")
三、其他类文件工具
虽然open函数及其返回的文件对象是python脚本通向外部文件的主要接口,但python工具集中还有其他类似的可用的文件工具。
标准流:在sys模块中预先打开的文件对象。
os模块的描述文件
套接字、管道和FiFo文件:用于同步进程或者通过网络通信的类文件对象。
通过键来存取文件,如shelve模块。