没有这样的文件或目录 - Python

-1 投票
3 回答
3023 浏览
提问于 2025-04-18 09:28

已经解决了!谢谢大家!

我正在尝试运行我的脚本,但遇到了一个错误。我对Python不太熟悉,所以任何简单的解释都非常感谢。

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Brad>c:\python27\python.exe c:\python27\vsauce.py
ERROR:root:Error opening settings.json.
Traceback (most recent call last):
  File "c:\python27\vsauce.py", line 76, in loadSettings
    settingsFile = open("settings.json", "r")
IOError: [Errno 2] No such file or directory: 'settings.json'

出问题的那一行

        settingsFile = open("settings.json", "r")

是的,文件确实存在。是的,它的名字确实是“settings.json”。我真搞不懂我到底做错了什么。顺便说一下,这不是我的脚本。

提前谢谢大家的帮助!

3 个回答

-1

试着在打开文件的时候写出完整的文件路径。可能是因为你当前的工作目录和文件所在的位置不一样。默认情况下,当你使用“open”命令时,Python会在你运行程序的地方寻找文件,比如 'C:\Users\Brad... 之类的路径。如果文件保存在其他地方,你就需要更改目录。

settingsFile = open('C:\\Users\\Brad\\Documents\\PythonFiles\\YourDirectory\\settings.json', 'r')
1

你的脚本之所以不工作,是因为你是在 C:\Users\Brad 这个地方运行它的。所以当

settingsFile = open("settings.json", "r")

运行时,它会在你运行脚本的那个文件夹里找 settings.json,而不是脚本存放的文件夹。你要么在你的 .py 文件里直接写死 settings.json 的路径,要么就需要从 C:\Python27 这个文件夹里运行脚本。要做到这一点,先打开 cmd.exe,然后输入

cd c:\Python27
python vsauce.py
1

尝试一下

$ cd C:\Python27
$ python.exe vsauce.py

这段代码会把你移动到Python27这个文件夹里。所以它会在这个文件夹里寻找settings.json这个文件。

因为你是从 C:\Users\Brad 这个位置运行的,所以它在找 C:\Users\Brad\settings.json 这个文件。

撰写回答