“Python打开文件”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
使用方法
第1行: 第1行:
==open函数的格式==
+
==Python读写文件==
 +
===open函数的格式===
 
open(file, mode='r', buffering=-1, encoding=None, errors=None,newline=None, closefd=True, opener=None)
 
open(file, mode='r', buffering=-1, encoding=None, errors=None,newline=None, closefd=True, opener=None)
  
第7行: 第8行:
 
*encoding参数指定对文本进行编码和解码的方式,只适用于文本模式,可以使用Python支持的任何格式,如GBK、utf8、CP936等等。
 
*encoding参数指定对文本进行编码和解码的方式,只适用于文本模式,可以使用Python支持的任何格式,如GBK、utf8、CP936等等。
  
==文件打开模式==
+
===文件打开模式===
 
文件打开模式:
 
文件打开模式:
 
*[[文件:python7-1.png]]
 
*[[文件:python7-1.png]]
==使用方法==
+
===使用方法===
 
*如果执行正常,open()函数返回1个文件对象,通过该文件对象可以对文件进行读写操作。如果指定文件不存在、访问权限不够、磁盘空间不足或其他原因导致创建文件对象失败则抛出异常。
 
*如果执行正常,open()函数返回1个文件对象,通过该文件对象可以对文件进行读写操作。如果指定文件不存在、访问权限不够、磁盘空间不足或其他原因导致创建文件对象失败则抛出异常。
  
第31行: 第32行:
 
   
 
   
 
  <nowiki>
 
  <nowiki>
with open('sample.txt', 'w') as fp:    #默认使用cp936编码
+
==上下文管理语句with==
    fp.write(s)
+
在实际开发中,读写文件应优先考虑使用上下文管理语句with,关键字with可以自动管理资源,不论因为什么原因(哪怕是代码引发了异常)跳出with块,总能保证文件被正确关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的上下文,常用于文件操作、数据库连接、网络连接、多线程与多进程同步时的锁对象管理等场合。
  
with open('sample.txt') as fp:         #默认使用cp936编码
+
with open(filename, mode, encoding) as fp:
    print(fp.read())</nowiki>
+
    #这里写通过文件对象fp读写文件内容的语句
 +
 
 +
*上下文管理语句with还支持下面的用法:
 +
<nowiki>with open('test.txt', 'r') as src, open('test_new.txt', 'w') as dst:
 +
dst.write(src.read())</nowiki>
  
 
返回 [[文件和数据格式化(输入与输出)]]
 
返回 [[文件和数据格式化(输入与输出)]]

2018年5月2日 (三) 01:17的版本

Python读写文件

open函数的格式

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

  • file参数指定了被打开的文件名称。
  • mode参数指定了打开文件后的处理方式。
  • buffering参数指定了读写文件的缓存模式。0表示不缓存,1表示缓存,如大于1则表示缓冲区的大小。默认值是缓存模式。
  • encoding参数指定对文本进行编码和解码的方式,只适用于文本模式,可以使用Python支持的任何格式,如GBK、utf8、CP936等等。

文件打开模式

文件打开模式:

  • Python7-1.png

使用方法

  • 如果执行正常,open()函数返回1个文件对象,通过该文件对象可以对文件进行读写操作。如果指定文件不存在、访问权限不够、磁盘空间不足或其他原因导致创建文件对象失败则抛出异常。
f1 = open( 'file1.txt', 'r' )     # 以读模式打开文件
f2 = open( 'file2.txt', 'w')      # 以写模式打开文件
  • 当对文件内容操作完以后,一定要关闭文件对象,这样才能保证所做的任何修改都确实被保存到文件中。
f1.close()

例题:

s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n'
fw = open('sample.txt',"w")
fw.write(s)
fw.close()

fr =open('sample.txt',"r")
print(fr.read())
fr.close()



==上下文管理语句with==
在实际开发中,读写文件应优先考虑使用上下文管理语句with,关键字with可以自动管理资源,不论因为什么原因(哪怕是代码引发了异常)跳出with块,总能保证文件被正确关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的上下文,常用于文件操作、数据库连接、网络连接、多线程与多进程同步时的锁对象管理等场合。

 with open(filename, mode, encoding) as fp:
    #这里写通过文件对象fp读写文件内容的语句

*上下文管理语句with还支持下面的用法:
 <nowiki>with open('test.txt', 'r') as src, open('test_new.txt', 'w') as dst:
	dst.write(src.read())

返回 文件和数据格式化(输入与输出)