Ubuntu上的Python文件读取方法

1 投票
1 回答
1440 浏览
提问于 2025-04-15 12:04

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() 会返回一个空字符串("")。”

撰写回答