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