首页 > 解决方案 > 获取导入文件的目录

问题描述

我正在制作的包中有一个文件,用于os.getcwd()返回文件的目录。例如:

# myfile1py

import os
def getfiledir():
    return os.getcwd()

上面的代码返回C:\Users\Someone\Python36-32\Lib\site-packages\,这是文件的正确目录。但是,当我导入它时,会出现问题。

# myfile2.py

import myfile
print(myfile.getfiledir())

上面的代码是myfile2.py. 导入后myfile1.py,我运行该函数getfiledir(),它返回myfile2.py( C:\Users\Someone\Documents) 的目录,而不是导入文件的目录 ( myfile1.py)。

如何获取代码以myfile2.py返回目录myfile1.py

请记住,我希望返回目录的代码位于导入的文件 ( myfile1.py) 中,而不是导入器文件中。

任何帮助将不胜感激。

标签: pythonpython-3.xpython-importpython-os

解决方案


os模块。它在标准库中。

import os
os.path.dirname(myfile.__file__)

更多细节:如何检索模块的路径?


推荐阅读