有一个班轮阅读Python中的文件中的所有行,而不是标准:Python的文件啜食
f = open('x.txt')
cts = f.read()
f.close()
看起来这是这样做往往有一定是一个单衬垫。有任何想法吗?
有一个班轮阅读Python中的文件中的所有行,而不是标准:Python的文件啜食
f = open('x.txt')
cts = f.read()
f.close()
看起来这是这样做往往有一定是一个单衬垫。有任何想法吗?
这会发出声音的内容合并到一个字符串在Python 2.6 及以上:
with open('x.txt') as x: f = x.read()
,这将创建行的列表:
with open('x.txt') as x: f = x.readlines()
这些方法保证立即关闭在读取之后立即输入文件。
脚注:
from __future__ import with_statement
使用。一个旧的做法,不保证立即关闭就是用它来创建一个字符串:
f = open('x.txt').read()
这创造行的列表:
f = open('x.txt').readlines()
实际上它会立即在某些版本的CPython中关闭,但关闭“只有当垃圾收藏家在Jython,IronPython和CPython的未来版本中都可以使用它。
这就是我会猜到的,但不知道什么时候打开的文件会被关闭。谢谢! –
如果你在Python3,请务必正确尊重你的文件的输入编码,例如:
import codecs
with codecs.open(filename, 'r', encoding="utf8") as file:
cts = file.read()
查找编解码器的名称在Python3 codec list列表。 (该机制也是可取的Python2,只要你想到的任何非ASCII输入)
我想知道为什么这是被拒绝的。 –
有些人可能会认为编码问题是无关紧要的。另外,我的代码并不是最小的:在open(filename,'r',encoding ='utf8')中使用builtin'open'将会保存导入语句并使问题更好地回答。 –
好笑的是,我又需要这一点,我用Google搜索它。没想到我自己的问题就来了:) –
我还留着找到这个时候,我实际上是寻找http://stackoverflow.com/questions/1450393/how-do-you-read-from-stdin-in-python – tripleee