赞
踩
Python内置函数open()可以用指定模式打开指定文件并创建文件对象。
open(file, mode='r', buffering=-1, encoding=None, errors=None,
newline=None, closefd=True, opener=None)
file参数指定了被打开的文件名称。
mode参数指定了打开文件后的处理方式。
buffering参数指定了读写文件的缓存模式。0表示不缓存,1表示缓存,如大于1则表示缓冲区的大小。默认值是缓存模式。默认值是-1,表示二进制文件和非交互式文本文件以固定大小的块为缓存单位。
encoding参数指定对文本进行编码和解码的方式,只适用于文本模式,可以使用Python支持的任何格式,如GBK、utf8、CP936等等。
newline只适用于文本模式
f1 = open( 'file1.txt', 'r' ) # 以读模式打开文件,若文件不存在,抛出异常
f2 = open( 'file2.txt', 'w') # 以写模式打开文件
当文件内容操作完之后,需要关闭文件对象,才能保证所做的修改都被保存到文件里,关闭后,将不能再写入文件。
f1.close()
在实际开发中,读写文件应优先考虑使用上下文管理语句with,关键字with可以自动管理资源,不论因为什么原因(哪怕是代码引发了异常)跳出with块,总能保证文件被正确关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的上下文,常用于文件操作、数据库连接、网络连接、多线程与多进程同步时的锁对象管理等场合。
with语法结构:
with expression as target:
with-bady
expression:用于制定一个表达式,可以是文件的open函数
target:用于指定一个变量,并且将expression的结果保存到该变量中。
with-bady:用于指定with语句体,其中可以是执行with语句后相关的一些操作语句。如果不想执行任何语句,可以使用pass语句代替。
s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n'
with open('sample.txt', 'w') as fp: #默认使用cp936编码,可自动关闭文件,无需close命令
fp.write(s)
with open('sample.txt') as fp: #默认使用cp936编码,默认以‘r’的模式打开文件
print(fp.read())
在使用open函数打开文件时,默认使用cp936(GBK),当被打开的文件不是GBK编码时,将抛出异常。
解决方法一种是直接修改文件的编码。另一种是再打开文件时,直接指定打开文件的编码方式。
微软的CP936通常被视为等同GBK,连 IANA 也以“CP936”为“GBK”之别名。不过实际上 GBK 定义的字符比 CP936 多出95个字,其中包括了15个非汉字及80个汉字。
python文件提供了write方法,可以向文件写入内容。格式如下:
file.write(string)
s = &#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。