Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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_Cwd - Fatal编程技术网

Python 从系统中的某个地方调用脚本时,如何导入配置文件?

Python 从系统中的某个地方调用脚本时,如何导入配置文件?,python,cwd,Python,Cwd,假设我有一个文件夹“myProject”,其中有一个脚本“mySkript.py”和一个配置文件“myConfig.py” 从“myProject”中调用脚本时,我会执行以下操作: with open("myConfig") as configurationRawData: # do something 现在假设我不是从“myProject”文件夹调用脚本,而是从“User/desktop”调用脚本。在这种情况下,open命令实际上不会找到“myConfig”。 我希望让我的skcri

假设我有一个文件夹“myProject”,其中有一个脚本“mySkript.py”和一个配置文件“myConfig.py”

从“myProject”中调用脚本时,我会执行以下操作:

with open("myConfig") as configurationRawData:
    # do something
现在假设我不是从“myProject”文件夹调用脚本,而是从“User/desktop”调用脚本。在这种情况下,open命令实际上不会找到“myConfig”。 我希望让我的skcript使用它自己的路径作为根路径,并将此属性继承到它在执行期间可能调用的所有其他脚本。
有什么想法吗?

有一种方法可以做到:

导入操作系统
config\u file=os.path.join(os.path.dirname(\uuu file\uuuu),“myConfig.py”)
打开(配置文件)作为configurationRawData:
#做点什么

\uuuu file\uuuu
是一个内部python变量,表示当前文件的路径(每个示例类似于windows的
C:\Users\user\documents\scripts\mySkript.py
)。它导致文件本身,它不依赖于工作目录

os.path.dirname(\uuuu file\uuuu)
为您提供当前文件的目录(
C:\Users\user\documents\scripts\
用于上述示例)

os.path.join()
构建一个操作系统喜欢的路径,因此它将为上面的示例生成
C:\Users\user\documents\scripts\myConfig.py


无论您的操作系统是什么(python为您处理),只要您的两个文件位于同一目录中,这都可以工作。

有一种方法可以做到这一点:

导入操作系统
config\u file=os.path.join(os.path.dirname(\uuu file\uuuu),“myConfig.py”)
打开(配置文件)作为configurationRawData:
#做点什么

\uuuu file\uuuu
是一个内部python变量,表示当前文件的路径(每个示例类似于windows的
C:\Users\user\documents\scripts\mySkript.py
)。它导致文件本身,它不依赖于工作目录

os.path.dirname(\uuuu file\uuuu)
为您提供当前文件的目录(
C:\Users\user\documents\scripts\
用于上述示例)

os.path.join()
构建一个操作系统喜欢的路径,因此它将为上面的示例生成
C:\Users\user\documents\scripts\myConfig.py


无论您的操作系统是什么(python为您处理),只要您的两个文件位于同一目录中,这都可以工作。

open(“myConfig”)
将不会打开“myConfig.py”。这是两个不同的文件名。这能回答你的问题吗<代码>打开(“myConfig”)将不会打开“myConfig.py”。这是两个不同的文件名。这能回答你的问题吗?