在不同的机器上运行Python
我用PyCharm开发了一些python代码,我正试图将其移植到Windows服务器 我遇到的问题是,我将所有文件(使用Git pull)移动到新服务器,然后运行它,代码似乎无法看到同一文件夹中的任何其他文件 我使用windows命令运行.py文件在不同的机器上运行Python,python,python-3.x,Python,Python 3.x,我用PyCharm开发了一些python代码,我正试图将其移植到Windows服务器 我遇到的问题是,我将所有文件(使用Git pull)移动到新服务器,然后运行它,代码似乎无法看到同一文件夹中的任何其他文件 我使用windows命令运行.py文件 C:\path\to\python.exe C:\path\to\py\files\main.py 如果main.py有简单的行,例如 print("Hello World") 它工作得很好,但是像 with open('./config.js
C:\path\to\python.exe C:\path\to\py\files\main.py
如果main.py
有简单的行,例如
print("Hello World")
它工作得很好,但是像
with open('./config.json') as f:
config = json.load(f)
将给我一个FileNotFoundError
我做错了什么?原来你可以这样做
import json
import os.path
my_path = os.path.abspath(os.path.dirname(__file__))
path = os.path.join(my_path, "config.json")
with open(path) as f:
config = json.load(f)
您是对的,但每当您将代码窗口os上载到服务器时,由于依赖于os,文件路径就会不同,因此您可以使用
这是一个路径错误,取决于操作系统。您的当前目录可能未设置为文件位置。一个更简单的解决方案,特别是如果您尝试导入多个本地模块:(将其置于任何本地导入之前)
使用JSON文件的绝对路径而不是相对路径。
os.path module in python
import os
os.chdir(os.path.abspath(os.path.dirname(__file__)))