Python在Ubuntu上的file.read()

时间:2009-06-06 20:42:52

标签: python file ubuntu

Python的file.read()函数不会读取任何内容。无论文件内部是什么,它总是返回''。它能是什么?我知道它一定是直截了当的,但我无法弄清楚。

UPD :我试过'r'和'w +'模式。

UPD :代码为:

    >>> file = open('helloworld', 'w+')
    >>> file.read()
    ''

解决方案:我刚才发现,虽然文件可以在'w +'模式下阅读,但Python在打开后会截断它。应该使用'r'(或'r +')模式。谢谢大家。

1 个答案:

答案 0 :(得分:2)

警告:我只是在猜测那些不起作用的行为:

如果你在使用Python解释器,那么 你做了这样的事情:

>>> f = open('myfile.txt', 'r')
>>> f.read()

...你会将整个文件打印到屏幕上。

但如果再次这样做:

>>> f.read()
''

...你得到一个空字符串。

因此,如果您还没有,可以尝试重新启动解释器。

来自documentation

“要读取文件的内容,请调用f.read(size),它读取一些数据并将其作为字符串返回.size是一个可选的数字参数。当省略size或negative时,整个内容为文件将被读取并返回;如果文件的大小是机器内存的两倍,则会出现问题。否则,最多读取并返回大小字节。如果文件末尾已到达,则f.read()将返回一个空字符串(“”)。“