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

Python 如何设置执行脚本的相对路径

Python 如何设置执行脚本的相对路径,python,Python,我想用我的执行脚本设置文件夹的相对路径,该脚本可以在任何机器上运行,而无需硬编码文件的绝对路径。 到目前为止,我有以下几点: import os path_to_folder = os.path.realpath('.') 当我从PyCharm调用print(path\u to\u文件夹)运行脚本时,返回正确的路径 C:\Users\Me\Desktop\Project\Script\ 但是如果我试着从cmd调用它,比如python3.4c:\Users\Me\Desktop\Project\

我想用我的执行脚本设置文件夹的相对路径,该脚本可以在任何机器上运行,而无需硬编码文件的绝对路径。 到目前为止,我有以下几点:

import os
path_to_folder = os.path.realpath('.')
当我从
PyCharm
调用
print(path\u to\u文件夹)
运行脚本时,返回正确的路径

C:\Users\Me\Desktop\Project\Script\

但是如果我试着从
cmd
调用它,比如
python3.4c:\Users\Me\Desktop\Project\Script\my_Script.py
我只得到

C:\Users\Me\

设置相对路径的更可靠的方法是什么?

我过去常使用


您也可以在不使用Pathlib的情况下,仅使用Python定义每个模块的_file__变量来实现这一点

在父脚本本身中:

from os.path import dirname, abspath
path_to_folder = abspath(dirname(__file__))
print(path_to_folder)
或者更一般地说,如果您只想知道模块的位置,您可以执行以下操作:

from os.path import dirname, abspath
import mymodule
path_to_folder = abspath(dirname(mymodule.__file__))
print(path_to_folder)

谢谢它似乎起作用了!
from os.path import dirname, abspath
import mymodule
path_to_folder = abspath(dirname(mymodule.__file__))
print(path_to_folder)