给定一个模块mymodule.py
;并在其中
def foo():
X = # file path where foo was called from
print(X)
我如何做评论中描述的内容?即,如果在test.py中我做了
from mymodule import foo
foo()
然后在终端中运行python3 test.py
,它应该打印test.py
的完整文件路径
答案 0 :(得分:4)
您可以使用sys.argv[0]
获取主文件的名称,然后您可以使用os.path.realpath()
获取其完整路径:
import os
import sys
def foo():
X = os.path.realpath(sys.argv[0])
print(X)
演示:
kevin@Arch ~> python test.py
/home/kevin/test.py
答案 1 :(得分:0)
您可以使用os.path.realpath
获取执行文件的完整路径:
import os
def func():
full_path = os.path.realpath(__file__)
print(full_path)
if (__name__ == "__main__"):
func()