2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 区别 |Python的 open() 和with open() as

区别 |Python的 open() 和with open() as

时间:2019-01-18 04:01:54

相关推荐

区别 |Python的 open() 和with open() as

/p/34d7fff5fc51

1、open()方法

意义:打开一个文件并返回文件对象,如果该文件无法被打开,会抛出OSError。最后一定要调用close()方法保证关闭文件对象。

公式:open( file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数(一般只用到file,mode和encoding)

file: 必需,文件路径(相对或者绝对路径)。mode: 可选,文件打开模式buffering: 设置缓冲encoding: 一般使用utf8errors: 报错级别newline: 区分换行符closefd: 传入的file参数类型opener:

mode参数

注意:

(1)r+:可读写,打开时不清空文件,可写到文件任何位置。默认在文件开始,因此会覆写文件。

(2)a+:可读写,打开时不清空文件,只能写到文件末尾。

(3)使用open()方法,最后一定要保证关闭文件对象,即调用close()方法。原因:当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘同时释放资源。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。

2、with open() as用法

正常情况下,想要打开一个文件并且保证该文件会被关闭。我们需要

try:f = open('C:/path/to/file', 'r')# do something about ffinally:if f:f.close()

使用with...as... 能确保文件一定被关闭。

with open('/path/to/file', 'r') as f:f.read()...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。