- Python王者归来
- 洪锦魁
- 604字
- 2020-08-28 21:54:52
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”模式。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P49_33327.jpg?sign=1739606048-gf9KEgVa5aEGbdOWuDefMJf4ipM8MEPT-0-080d42d63d7fde5f6c4b3429b6726a19)
执行结果
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P49_33333.jpg?sign=1739606048-gbGNaCcFjcLvxvssr0LjThz6mrl0YQuQ-0-f3f126f9fb53f1c0925a02639bc7ebe7)
如果执行程序一次,可以得到内容相同的out1.txt和out2.txt。但是如果持续执行,out2.txt内容会持续增加,out1.txt内容则保持不变,下列是检查文件夹内容。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P49_33336.jpg?sign=1739606048-0IU4mTeoCB29PDdZfIi6lz0K8r1jar7X-0-96cafd7c0e74ac3c873148cbe1678fe6)
下列是执行2次此程序,out1.txt和out2.txt的内容。
![](https://epubservercos.yuewen.com/6532E4/17214367404798806/epubprivate/OEBPS/Images/Figure-P49_33339.jpg?sign=1739606048-DZfVFVOcuYyaJaVcnPepZvhmvS7fuzRe-0-74f3812e46e28f6dbcc9dcd91ac31b59)