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)