一、打开文件操作 变量名=open(磁盘文件名,打开模式) 打开模式有一下几种: r 只读。如果文件不存在,则输出错误 w 只写,如果文件不存在,则自动创建文件 a 表示附加到文件末尾 rb 只读二进制文件。如果文件不存在,则输出错误 wb 只写二进制文件。如果文件不存在,则自动创建文件 ab 附加到二进制文件末尾。 r+ 读写
打开一个名为“music.mp3”的音频文件:
infile=open("music.mp3","rb")打开一个名为“numbers.dat”的文本文件:
infile=open("numbers.dat","r")二、文件读取 read() 返回值包含整个文件内容的一个字符串 readline() 返回值为文件下一行内容的字符串 readlines() 返回值为整个文件内容的列表,每项是以换行符为结尾的一行
将文件内容输出到屏幕上:
def main(): fname=input("Enter filename:") infile=open(fname,"r") data=infile.read() print(data) main()输出文件前五行内容:
infile=open(someFile,"r") for i in range(5): line=infile.readline() print(line[:-1])三、写入文件 write() 把含有文本数据或二进制数据块的字符串写入文件中 writelines() 针对列表操作,接受一个字符串列表作为参数,将他们写入文件 例如:
outfile=open("outfile.txt","w") outfile.writelines(["Hello","","world"]) outfile.close() infile=open("outfile.txt","r") infile.read()运行结果:
Hello world四、遍历文件模版 通用代码框架:
file=open(someFile,"r") for line in file.readlines(): #处理一行文件内容 file.close()简化代码框架:
file=open(someFile,"r") for line in file: #处理一行文件内容 file.close()五、文件拷贝
def main(): #用户输入文件名 f1=input("Enter a source file:").strip() f2=input("Enter a source file:").strip() #打开文件 infile=open(f1,"r") outfile=open(f2,"w") #拷贝数据 countLines=countChars=0 for line in infile: countLines+=1 countChars+=len(line) outfile.write(line) print(countLines,"lines and",countChars,"chars copied") infile.close() outfile.close() main()