文章来自《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
...