从特定文件运行时,readline()不返回任何内容

我最近一直在从事一个项目,该项目要求我获取存储在文本文件中的值。简单的任务,对吧?

我几乎曾经尝试过每一个使用 readline()的愚蠢解决方案,但是当它被打印时,什么也没有。调试也告诉我它是空的。

由于我已经遇到了与python不一致的问题,因此我尝试在另一个python文件中使用相同的功能,并运行该功能以达到预期的目的。

我当前的解决方案(不是最好的,但是目前我只希望它能够正常运行)

count_file = "count.txt"
filehandle = open(count_file,'r')
line = filehandle.readline()
print(line)

在名为“ test.py ”的文件中使用时效果很好。在我的“ main.py ”中使用时,它不返回任何内容。是的,我在相同的上下文中使用了它,并在测试时暂时从主文件中删除了所有其他内容。

有人知道这是什么原因吗?我可以将其他内容粘贴到测试文件中并重命名,但是1.令人讨厌,并且2.了解如何避免这种情况很有用。

编辑:我不确定,但是我认为问题是由我的IDE(使用最新版的Pycharm Professional)引起的。我通过删除并重新添加“运行/调试配置”解决了该问题。

lxmforyou 回答:从特定文件运行时,readline()不返回任何内容

有时,如果不指定文件路径,则返回值为None。请检查“ count.txt”脚本相对于“ main.py”脚本的路径/相对路径。

,

第一点:您的文件路径是相对的,因此将根据当前工作目录来解析它,而不取决于脚本的位置。

第二点:您读了一行,它确实可以为空或仅包含不可打印的字符。

第三点:运行不带pycharm的代码。当您真正了解Pycharm背后的功能时,它可能会很好,但是如果您不这样做,您的确会尝试一些出乎意料的结果。仅使用命令行和简单的代码编辑器实际上要简单得多(尽管可能效率不高),并且不易混淆。

最后,不要忘记您拥有一个交互式Python shell。非常方便地进行测试...

,

尝试-

f = open("file.txt","r")

print(f.readlines())

您在方法调用filehandle.readline()中缺少s

对于readline方法,您必须传递返回的字节总数

本文链接:https://www.f2er.com/2926672.html

大家都在问