我的程序从Esclipse运行,但不是从终端运行,引用文件不存在(但它确实存在)

时间:2017-07-12 12:46:37

标签: python file-io

所以我有这个代码打开文件&#34; setup.json&#34;,当我从eclipse运行程序时工作正常但是当我从Mac上的终端运行它时我得到这个错误:< / p>

IOError: [Errno 2] No such file or directory: 'setup.json'

以下是相关代码:

file = "setup.json"
for f in os.listdir(os.getcwd()):
    if f == file:
        file = f 
with open(file,"r") as fi:
    #(other code, irrelevant because the program crashes before this point

setup.json位于HueSunset个文件夹中,其中包含两个其他文件,&#34; \__init__.py&#34;和\__main__.py\__main__.py是运行此代码的文件。

2 个答案:

答案 0 :(得分:0)

以下是我可以提出的案例:

  1. 清除IDE缓存并重新运行
  2. 确保您没有其他同名文件
  3. 检查文件权限
  4. 最后,您可以在在线编辑器上运行代码,以确保您运行的代码是正确的。如果是,则表明您的文件和位置存在问题。

答案 1 :(得分:0)

如果代码在当前目录中找不到,则代码将保持file不变。当前目录是执行脚本时所在的目录。

试试这个:

file = "setup.json"
for f in os.listdir(os.getcwd()):
    if f == file:
        break
else:
    print("Oops. File not found") # or in real production code, raise an exception
with open(f,"r") as fi:
    #rest of your code