dir_path = os.path.dirname(os.path.realpath(__file__))
from os.path import isfile, join
onlyfiles = [f for f in listdir(dir_path) if isfile(join(dir_path, f))]
print(onlyfiles);
with open("config.json", 'r') as jsondata:
config = json.loads(jsondata.read())
尽管在
期间列出了文件,但以某种方式运行此代码会触发不存在的错误print(onlyfiles);
以下是控制台的完整输出日志。
Traceback (most recent call last):
['builder.py', 'builder.spec', 'builderloader2.rb', 'config.json',
'Run.bat', 'Run.bat.lnk', 'test.json']
File "C:/Users/cody.jones/Desktop/Builder Generator Release/builder.py",
line 26, in <module>
with open("config.json", 'r') as jsondata:
FileNotFoundError: [Errno 2] No such file or directory: 'config.json'
Process finished with exit code 1
答案 0 :(得分:1)
提供open()的完整路径而不仅仅是文件名,因为默认情况下它会在同一目录中查找文件
尝试:
open(r"C:/Users/cody.jones/Desktop/Builder Generator Release/config.json", "r")
答案 1 :(得分:-1)
该脚本将在当前工作目录中查找config.json
- 这可能与脚本所在的文件夹不同。
更新您的公开通话,以包含您已生成的路径。
with open(os.path.join(dir_path, "config.json"), 'r')) as jsondata:
通过这种方式(而不仅仅包括绝对路径),只要您将脚本和配置保持在一起,只要将脚本移动到其他目录或计算机,此脚本仍然可以正常工作。