线程成功执行另一个python文件,但不知道包含的函数

2024-05-19 03:02:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我创造了含py百万分之一含py将从多个目录中的一个加载,每个目录都包含这样一个文件含py百万分之一含py通过read()exec()。每个含py应包含一组同名函数和接口,但可能不同的行为。你知道吗

百万分之一启动一个或多个线程。每个线程应加载含py。加载工作正常,但是线程似乎不知道加载的函数。你知道吗

内容含py

def printIncluded (parameter):
    print (parameter)

内容百万分之一

import threading

def threadContent (parameter):
    exec (open ("incl.py").read ())
    printIncluded (parameter)

thread = threading.Thread (target = threadContent,  args = (("loaded from thread"),))
thread.start ()

只要我不使用线程,它就可以工作,例如,对于的以下内容百万分之一

exec (open ("incl.py").read ())
printIncluded ("directly loaded")

在线程中工作时,关于exec()必须考虑什么?你知道吗


Tags: 函数py目录内容readparameterdefopen
1条回答
网友
1楼 · 发布于 2024-05-19 03:02:42

我在python globals: import vs. execfile找到了一个有用的提示。你知道吗

扩展语句

exec (open ("incl.py").read ())

exec (open ("incl.py").read (),  globals ())

让它工作。然而,我似乎还没有对局部和全局范围的精确想象,以及为什么这样做有效。因此,关于“为什么”这一方面的问题仍然悬而未决。你知道吗

除此之外,我在阅读其他一些答案时的印象是,一些真正的Pythonians人更喜欢使用import,但我不太明白为什么(第二个)。至少使用read ()exec ()编码似乎比构建长sys路径扩展更简单。你知道吗

相关问题 更多 >

    热门问题