Python 如果未使用的导入在导入时运行函数,是否可以接受?
我使用许多不同的基本脚本在不同的时间推送数据,拉取报告,等等。这些脚本有一个cron条目在VM上运行Python 如果未使用的导入在导入时运行函数,是否可以接受?,python,import,Python,Import,我使用许多不同的基本脚本在不同的时间推送数据,拉取报告,等等。这些脚本有一个cron条目在VM上运行 当这些脚本启动时,我想运行一个共享的函数。然而,我目前的做法感觉不清楚 我举了一个基本的例子: sharedmodule.py: 然后,我将这个模块导入到正在运行的每个脚本中,以便在导入模块时运行函数,如下所示: 多个不同脚本中的一个脚本.py: 感觉应该有更好的方法来达到同样的目的,尽管在当时似乎是一种合理的方法,不要求在每个脚本的顶部都有sharedmodule.script\u start
当这些脚本启动时,我想运行一个共享的函数。然而,我目前的做法感觉不清楚 我举了一个基本的例子: sharedmodule.py: 然后,我将这个模块导入到正在运行的每个脚本中,以便在导入模块时运行函数,如下所示: 多个不同脚本中的一个脚本.py: 感觉应该有更好的方法来达到同样的目的,尽管在当时似乎是一种合理的方法,不要求在每个脚本的顶部都有sharedmodule.script\u start\u func 有没有更好的方法来解决这个问题 我开始认为,实际上调用这个函数只是额外的一行,并且很清楚发生了什么 我已经搜索了这个主题,但似乎找不到现有的答案
谢谢我将引用Python的禅宗来回答:
> python -c "import this"
蒂姆·彼得斯的《蟒蛇禅》
美胜于丑。
显式比隐式好。
简单总比复杂好。
复杂总比复杂好。
平的比嵌套的好。
稀疏比密集好。
可读性很重要。
特殊情况不足以违反规则。
虽然实用胜过纯洁。
错误永远不应该悄无声息地过去。
除非明确沉默。
面对模棱两可的情况,拒绝猜测的诱惑。
应该有一种——最好只有一种——显而易见的方法来做到这一点。
虽然这种方式一开始可能并不明显,除非你是荷兰人。
现在总比没有好。
虽然永远不会比现在更好。
如果实现很难解释,那就不是个好主意。
如果实现很容易解释,这可能是一个好主意。
名称空间是一个非常好的主意——让我们做更多的工作吧
第二行指出显式优于隐式。这就是我想要传达的。显式调用函数比隐式调用要好得多,原因如下:
它使您可以控制调用该函数的时间和地点
它有助于在出现问题时进行调试,因为您可以在调用之前和/或之后注释掉调用,打印一些调试信息
代码更容易理解,因为调用不会隐藏在调用脚本中
当然,这样做的代价是,必须额外键入一行,但我相信这样做的好处超过了成本。然后让其他东西运行该脚本,不要强迫代码必须调用它。当每个脚本启动时,我想运行一个函数,然后在脚本启动时调用该函数看起来是正确的做法。你担心什么?
import sharedmodule #flagged in IDE as unused
# do normal script stuff
> python -c "import this"