Python的readline()函数似乎不起作用?
不知道为什么,我下面的代码中的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 系统的人就不会遇到这个问题。