Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python 3中,文件_object.read()的计算结果为空字符串_Python - Fatal编程技术网

在python 3中,文件_object.read()的计算结果为空字符串

在python 3中,文件_object.read()的计算结果为空字符串,python,Python,因此,我正在创建一个需要使用python文件的应用程序。我看了10000个youtube视频,我是从我看的视频中得到的 with open(str(fileName)) as foil: # to read notes = foil.read().splitlines() with open("notes.txt", "a") as foil: # to add print(toAdd, file=foil)

因此,我正在创建一个需要使用python文件的应用程序。我看了10000个youtube视频,我是从我看的视频中得到的

with open(str(fileName)) as foil:          # to read
    notes = foil.read().splitlines()

with open("notes.txt", "a") as foil:       # to add
    print(toAdd, file=foil)
但是当我打印时(notes.splitlines()[0]),我的程序总是打印一个空字符串

我做了一个检查,如果它是空的,我就把它改成什么

if notes.splitLines()[0] == "": notes = "The note was empty"
为什么会这样?提前感谢任何有兴趣的人

附:这些文件放在哪里?我是否需要将“notes.txt”替换为文件路径以使其正常工作


PPS:我的程序中没有语法错误。如果我在这篇文章中的代码中有一个,我只是在这篇文章中键入时出错了。

您的代码为我引发了一个异常(AttributeError)。通常,
notes
将是源文件中的行列表-如果源文件为空,这也会引发错误,因为列表索引将超出范围


通常,文件名必须是程序查找文件所需的路径。如果它们在同一个目录中,像“file.txt”这样的东西就足够了。如果没有,则必须提供完整路径,否则将导致FileNotFoundError。希望这能澄清您的问题。

注释
是一个列表,所以写下来,
打印(notes.splitLines()[0])
总是会出错(它也是
拆分行
,没有大写,这也会导致错误)。请确保您的问题可通过以下方式重现:others@BradSolomon我只是在将代码复制到帖子中时写错了案例。它在实际程序中是正确的。此外,我认为,当我附加到文件时,如果没有检测到文件,那么将创建一个。@supersormer我在程序中的大小写是正确的。我只是在帖子里写错了。请看一下做决定的指导原则。我们应该能够复制问题中的代码,将其粘贴到新的Python文件中,运行它,并获得与您描述的相同的输出或错误。你可以自己提前测试。@CrazyChucky谢谢,我没意识到。我将在下一篇文章中牢记这一点