gpt4 book ai didi

python - 从调用脚本获取 __file__

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:59 30 4
gpt4 key购买 nike

我有十几个脚本,我在其中重复这个

# caller.py
THIS_FILE_DIR = os.path.dirname(os.path.realpath(__file__))
relative_path = lambda *x: os.path.join(THIS_FILE_DIR, *x)

我想将其移动到模块中,如下所示:

# module.py
def relative_path(*x):
this_file_dir = os.path.dirname(os.path.realpath(__file__))
return os.path.join(this_file_dir, *x)

但是我想得到__file__在调用脚本 ( caller.py ) 的范围内,而不是在模块 ( module.py ) 本身的范围内。有没有办法在不让调用脚本传入 __file__ 的情况下执行此操作(所以我的 relative_path() 方法只需要 *x )?

最佳答案

这实际上是可能的。您可以像这样获取调用者的路径

import inspect

def relative_path(*x):
caller_path = inspect.stack()[1].filename

然后您将获得绝对路径字符串(如果需要,建议使用 pathlib 而不是 os)

传递文件不是必需的,而且可能会造成困惑......

关于python - 从调用脚本获取 __file__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438289/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com