获取导入文件的目录
Get directory of imported file
我正在制作的包中有一个文件,它使用 os.getcwd()
到 return 文件目录。
例如:
# myfile1py
import os
def getfiledir():
return os.getcwd()
上面的代码returns C:\Users\Someone\Python36-32\Lib\site-packages\
,也就是文件的正确目录。但是,当我导入它时,出现了问题。
# myfile2.py
import myfile
print(myfile.getfiledir())
以上代码为myfile2.py
中的代码。导入 myfile1.py
后,我 运行 函数 getfiledir()
并且它 return 是 myfile2.py
(C:\Users\Someone\Documents
) 的目录而不是 C:\Users\Someone\Documents
的目录导入文件 (myfile1.py
).
如何获取 myfile2.py
return myfile1.py
目录中的代码?
请记住,我希望 return 目录中的代码位于导入文件 (myfile1.py
) 中,而不是导入程序文件中。
如有任何帮助,我们将不胜感激。
使用os
模块。它在标准库中。
import os
os.path.dirname(myfile.__file__)
更多详情:How to retrieve a module's path?
我正在制作的包中有一个文件,它使用 os.getcwd()
到 return 文件目录。
例如:
# myfile1py
import os
def getfiledir():
return os.getcwd()
上面的代码returns C:\Users\Someone\Python36-32\Lib\site-packages\
,也就是文件的正确目录。但是,当我导入它时,出现了问题。
# myfile2.py
import myfile
print(myfile.getfiledir())
以上代码为myfile2.py
中的代码。导入 myfile1.py
后,我 运行 函数 getfiledir()
并且它 return 是 myfile2.py
(C:\Users\Someone\Documents
) 的目录而不是 C:\Users\Someone\Documents
的目录导入文件 (myfile1.py
).
如何获取 myfile2.py
return myfile1.py
目录中的代码?
请记住,我希望 return 目录中的代码位于导入文件 (myfile1.py
) 中,而不是导入程序文件中。
如有任何帮助,我们将不胜感激。
使用os
模块。它在标准库中。
import os
os.path.dirname(myfile.__file__)
更多详情:How to retrieve a module's path?