Python的readline()函数似乎不起作用?

2 投票
1 回答
595 浏览
提问于 2025-04-18 13:46

不知道为什么,我下面的代码中的readline()函数似乎什么都没打印出来。

fileName = input()
    fileName += ".txt"
    fileA = open(fileName, 'a+')
    print("Opened", fileA.name)

    line = fileA.readline()
    print(line)
    fileA.close()

我在用PyCharm,并且我一直在尝试访问'file.txt',这个文件在我唯一的PyCharm项目文件夹里。它里面包含了以下内容:

Opened file!!

我完全不知道哪里出错了,也找不到任何相关的信息来解决我的问题。任何帮助都非常感谢。

1 个回答

5

因为你是以 a+ 模式打开文件的,所以文件指针一开始就在文件的末尾。毕竟,通常我们是在文件的末尾添加内容。

如果你想从文件的开头读取内容,你需要在调用 readline 之前,先执行 fileA.seek(0)

fileA.seek(0)
line = fileA.readline()

这样做会把指针移动到文件的开头。


注意:根据评论的反馈,似乎只有在使用Windows系统时你才需要这样做。而使用 *nix 系统的人就不会遇到这个问题。

撰写回答