【问题标题】:Get directory of imported file获取导入文件的目录
【发布时间】:2019-07-23 07:46:10
【问题描述】:

我正在制作的包中有一个文件,它使用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.pyC:\Users\Someone\Documents)的目录,而不是导入文件的目录(myfile1.py)。

如何获取myfile2.py中的代码返回myfile1.py的目录?

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

任何帮助将不胜感激。

【问题讨论】:

  • 感谢您的评论。我试过了,但它不起作用,因为当导入带有它的文件时,它会添加导入器文件的路径,而不是导入的文件。

标签: python python-3.x python-import python-os


【解决方案1】:

使用os 模块。它在标准库中。

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

更多详情:How to retrieve a module's path?

【讨论】:

  • 谢谢@11615853 我使用了错误的功能。 os.path.dirname 工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-10
  • 2013-05-22
  • 2010-11-18
  • 2010-11-08
  • 1970-01-01
  • 2021-12-04
相关资源
最近更新 更多