【问题标题】:Python is not recognising txt file from outside codePython 无法识别来自外部代码的 txt 文件
【发布时间】:2020-07-05 15:58:56
【问题描述】:
import os, sys
inputFilename = 'X.txt'
if not os.path.exists(inputFilename):
    print('The file %s does not exist. Quitting...' % (inputFilename))
    sys.exit()

此代码仅在未找到 txt 文件 X 时运行。但由于某种原因,它会继续运行这些行,即使该文件确实存在于正确的位置。任何想法我做错了什么? 我已尝试将所有内容移至单独的文件夹并重命名文件,但似乎没有任何效果。

【问题讨论】:

  • 如果文件不存在,则会产生一个布尔值false。不是falsetrue,因此它运行if 语句中的代码
  • if os.path.exists(inputFilename) != True: 此外,您直接链接到文件名,没有提到路径,取决于您的 IDE,这种方式可能会出现一些问题,尝试使用文件的路径,如下所示: if os.path.exists(os.path.join(path_to_file, inputFilename)) != True:
  • 代码对我来说非常好用。你从哪里运行它与文件有关?我也可以建议使用 pathlib 中的路径
  • 您可能会混淆当前工作目录(这是像 X.txt 这样的相对路径解析的内容)和保存脚本的目录。
  • 这能回答你的问题吗? File Not Found Error in Python

标签: python


【解决方案1】:

确保您使用的 IDE 能够识别该文件夹,否则即使该文件存在于该文件夹中,它也可能找不到该文件。

Fx 如果您使用的是 vs 代码,请单击“打开文件夹”选项并将文件夹添加为工作平台。检查如何为您使用的任何 IDE。

另一方面, 如果您只使用文件,最好使用isfile() 而不是exists()

exists() 用于文件和目录,而 isfile() 仅用于文件。对于目录,您可以使用 isdir()

【讨论】:

    【解决方案2】:
    1. 文本文件位于何处?
    2. 您从哪里运行 python 代码?

    1. 和 2. 的答案应该相同。如果没有,那就是你的问题。

    我认为您可能能够将绝对路径而不只是“X.txt”传递给 inputFileName。这样目录布局就无关紧要了。

    您的代码似乎没有任何本质上的错误。我在本地测试了它,它可以工作。

    【讨论】:

      猜你喜欢
      • 2015-03-06
      • 2011-06-22
      • 2022-12-01
      • 2016-10-10
      • 2016-09-06
      • 2019-04-20
      • 2015-11-13
      • 2018-03-14
      • 2016-04-03
      相关资源
      最近更新 更多