gpt4 book ai didi

python - 导入相对于当前脚本的共享 python 脚本的最简单方法

转载 作者:行者123 更新时间:2023-12-01 06:04:30 24 4
gpt4 key购买 nike

我正在尝试从另一个Python脚本导入一个Python脚本。我在一个脚本中定义了一些常用函数,然后在许多其他脚本中定义了想要导入这些函数的函数。没有类,只有函数。

导入脚本需要从相对路径导入,例如../../SharedScripts/python/common.py

然后我定义了一些我将调用的函数 def f1(...)

我发现 imp 模块似乎是正确的使用方式,但我无法找出适用于我的示例的确切语法。

如果 imp 不是正确的模块,有人可以建议使用正确的代码或最简单的方法吗?

解决方案从下面的答案中我能够让这个工作......

projectKey = 'THOR'

# load the shared script relative to this script
sys.path.append(os.path.dirname(__file__) + '/../../SharedScripts/python')
import jira

jira.CheckJiraCommitMessage(sys.argv[1], sys.argv[2], projectKey)

我在 SharedScripts/python 目录中有一个空的 __init__.py 和一个 jira.py ,其中包含简单的函数定义。

最佳答案

为什么不将 ../../SharedScripts/python/ 添加到 python 路径?然后你可以像任何其他模块一样使用 common.py :

import common
common.f1()

您可以通过系统变量PYTHONPATH或直接从python操作它来替换Python路径:sys.path.append("../../SharedScripts/python/")

请注意,使用绝对路径可能更明智...(应用程序的当前目录可能会更改)

要获取绝对路径可以调用函数os.path.abspath:os.path.abspath('../../SharedScripts/python/')

关于python - 导入相对于当前脚本的共享 python 脚本的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833191/

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