Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同的机器上运行Python_Python_Python 3.x - Fatal编程技术网

在不同的机器上运行Python

在不同的机器上运行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

我用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.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__)))