在4-2-1节有讲解在print( )函数中,默认输出位置是屏幕(sys.stdout),其实可以利用这个特性将输出导向一个文件。
open( )函数可以打开一个文件供读取或写入,如果这个函数执行成功,会返回文件流对象,这个函数的基本使用格式如下:
file_Obj = open(file, mode="r")# 只列出最常用的两个参数
file: 用字符串列出要打开的文件,如果不指明路径,则打开目前工作文件夹。
mode: 打开文件的模式,如果省略代表是 mode="r" ,使用时如果 mode="w" 或其他,也可以省略“ mode= ”,直接写“w”。也可以同时具有多项模式,例如,“wb”代表以二进制文件打开供写入,可以是下列基本模式。下列是第一个字母的操作意义。
"r" :这是默认值,打开文件供读取(read)。
"w" :打开文件供写入,如果原先文件有内容将被覆盖。
"a" :打开文件供写入,如果原先文件有内容,新写入数据将附加在后面。
"x" :打开一个新的文件供写入,如果所打开的文件已经存在会产生错误。下列是第二个字母的意义,代表文件类型。
"b" :打开二进制文件模式。
"t" :打开文本文件模式,这是默认值。
file_Obj: 这是文件对象,读者可以自行命名,未来print( )函数可以将输出导向此对象,不使用时要关闭file_Obj.close( ),才可以返回操作系统的文件管理器观察执行结果。
程序实例ch4_13.py :将数据输出到文件的实例,其中,输出到out1.txt采用“w”模式,输出到out2.txt采用“a”模式。
执行结果
这个程序执行后需到ch4文件夹查看执行结果内容,如果执行程序一次,可以得到out1.txt和out2.txt内容相同。但是如果持续执行,out2.txt内容会持续增加,out1.txt内容则保持不变,下列是检查文件夹内容。
下列是执行两次此程序后out1.txt和out2.txt的内容。