Ubuntu上的Python文件读取方法
Python的file.read()
函数总是读取不到任何内容。无论文件里有什么,它总是返回''
(空字符串)。这可能是什么原因呢?我知道这一定是个简单的问题,但我就是搞不明白。
更新: 我试过用'r'和'w+'模式。
更新: 代码是:
>>> file = open('helloworld', 'w+')
>>> file.read()
''
解决方案: 我突然想到,虽然在'w+'模式下文件是可以读取的,但Python在打开文件后会把它清空。所以应该使用'r'(或者'r+')模式。谢谢大家。
1 个回答
2
注意:我只是猜测一些“没有正常工作”的情况:
如果你在Python解释器里工作,
做了这样的操作:
>>> f = open('myfile.txt', 'r')
>>> f.read()
...你会看到整个文件的内容都打印到屏幕上。
但是如果你再这样做一次:
>>> f.read()
''
...你会得到一个空字符串。
所以,如果你还没试过,可能可以考虑重启一下你的解释器。
根据文档:
“要读取文件的内容,可以调用 f.read(size),这个方法会读取一定数量的数据并返回一个字符串。size 是一个可选的数字参数。如果不提供 size 或者 size 是负数,整个文件的内容都会被读取并返回;如果文件的大小是你电脑内存的两倍,那就麻烦了。否则,最多会读取 size 字节的数据并返回。如果到达了文件的末尾,f.read() 会返回一个空字符串("")。”