【问题标题】:Python Script, Can't Create or Open Text FilePython 脚本,无法创建或打开文本文件
【发布时间】:2021-02-10 17:03:52
【问题描述】:

我正在尝试打开一个文件并向其中写入一些文本。我正在使用 Windows 和 Python 3.8.7(我也尝试过 3.9.1)。当我在 Windows 命令提示符下运行我的脚本:“python filewrite.py”时,我会收到一条打印语句,让我知道它实际运行了,但没有创建文件。

当我通过调用“python”打开解释器,然后从我的脚本中复制/粘贴我的代码时,会创建一个包含适当文本的文件。

我尝试过使用“with”和“f.open”两种方式打开和关闭文件,但都没有奏效。我相信这与我在 Windows 上的设置有关,但我尝试卸载每个版本的 Python 并重新安装,但没有运气。

试过了

f = open("F:\\Coding\\file.txt", 'w+')
f.write('Python loves you!')
f.close()
print("We tried")

这样:

with open("F:\\Coding\\file.txt", 'w+') as f:
    f.write('Python loves you!')
print("We tried")

都不行。我也试过没有绝对路径,它具有相同的行为。我已经尝试过使用和不使用'+',我已经尝试先创建文件并附加,但没有运气。它在解释器中工作,而不是作为脚本运行时,这一事实是我最大的线索,知道出了什么问题。我实际上想将写入文件合并到一个更复杂的脚本中,但我什至不能先做这个简单的事情。任何帮助将不胜感激。

【问题讨论】:

  • 你确定目录是可写的吗?您可以从同一位置读取文件吗?
  • 我可以从同一位置读取文件;我检查了一下,它确实说该文件夹只被读取和执行,这有点奇怪,因为我能够毫无问题地创建文件,而且就像我说的那样,解释器也可以创建文件。
  • 实际上,我已经强制它确保我完全控制了该目录,结果仍然相同。
  • 你可以尝试在 Python 中你写入它之后阅读它吗?首先确保它不存在。然后运行写入文件的代码,然后从文件中读取并打印内容。如果它有效,则说明您查找的位置有误,或者您看不到该文件。

标签: python file-io


【解决方案1】:

我已经解决了这个问题。原来我的 Comodo Antivirus 自动包含创建的文件。我告诉防病毒软件忽略该区域以进行自动遏制,我的脚本现在可以创建文件了。

【讨论】:

    【解决方案2】:

    您好 Webs64,欢迎使用!

    我在我的 MAC 上运行了如下代码

    with open("/Users/person/Documents/file.txt", 'w+') as f:
        f.write('Python loves you!')
    print("We tried")
    

    并成功创建文件并将python loves you! 写入其中。

    你能不加 F 和双 (\) 试试吗?

    【讨论】:

    • 欢迎来到 Stack Overflow!要要求对问题进行澄清,请添加评论而不是答案。如果您还没有reputation 这样做,请answer 其他well-asked questions 不需要澄清来建立您的声誉。
    • Ryan,我试过了,但没有成功。我也试过没有直接路径,只使用“file.txt”,我得到了相同的结果:在解释器中工作,而不是在脚本中。
    • @Webs64,您能否将 os.listdir() 也添加到您的脚本中?然后从命令行运行它?也许文件正在创建但被隐藏?
    • @Ryan Burch 遗憾的是,事实并非如此,因为我确认我正在查看隐藏文件,但它不存在。