Size: 1767
Comment:
|
Size: 1780
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
== 问题 Problem == | == 问题 == |
Line 26: | Line 26: |
更好的方法是将文件对象和一个变量绑定,可以及时关闭文件。比如,读取文本文件内容 | 更好的方法是将文件对象和一个变量绑定,可以及时关闭文件。比如,读取文本文件内容: |
Line 34: | Line 34: |
将文本文件的全部内容按照分行 作为一个tuple读出有4种方法 | 将文本文件的全部内容按照分行 作为一个tuple读出有4种方法: |
Line 42: | Line 42: |
方法1、2 返回的tuple中包含的string 元素末尾有'\n',方法3、4返回的tuple中包含的string元素末尾去掉了‘\n’ |
|||| 方法1、2 返回的tuple中包含的string 元素末尾有'\n', 方法3、4返回的tuple中包含的string元素末尾去掉了‘\n’, |
Line 45: | Line 46: |
|||| |
文章来自《Python cookbook》. 翻译仅仅是为了个人学习,其它商业版权纠纷与此无关!
-- 61.182.251.99 [DateTime(2004-09-19T22:05:29Z)] TableOfContents
描述
读取文件内容 Credit: Luther Blissett
问题
从文件读取文本或数据
解决
一次将文件内容读入一个长字符串的最简便方法
all_the_text = open('thefile.txt').read( ) # 文本文件的全部文本 all_the_data = open('abinfile', 'rb').read( ) # 2进制文件的全部数据
更好的方法是将文件对象和一个变量绑定,可以及时关闭文件。比如,读取文本文件内容:
file_object = open('thefile.txt') # 打开文件 all_the_text = file_object.read( ) # 文本文件的全部文本 file_object.close( ) # 使用完毕,关闭文件
将文本文件的全部内容按照分行 作为一个tuple读出有4种方法:
list_of_all_the_lines = file_object.readlines( ) # 方法 1 list_of_all_the_lines = file_object.read( ).splitlines(1) # 方法 2 list_of_all_the_lines = file_object.read().splitlines( ) # 方法 3 list_of_all_the_lines = file_object.read( ).split('\n') # 方法 4
方法1、2 返回的tuple中包含的string 元素末尾有'\n', 方法3、4返回的tuple中包含的string元素末尾去掉了‘\n’, 方法1是效率最高的,而且最符合python的风格。
在Python 2.2以及更高版本中,有方法5和方法1等效
list_of_all_the_lines = list(file_object) # 方法 5
讨论 Discussion
...