Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从python中的方法执行全局from foo导入栏?_Python - Fatal编程技术网

如何从python中的方法执行全局from foo导入栏?

如何从python中的方法执行全局from foo导入栏?,python,Python,所以我正在一个叫NAO的机器人上实现websocket客户端协议。如果不涉及太多细节,我就无法进行正常的导入,因为在执行任何导入语句之前都需要一个变量,所以我需要在方法中处理导入语句 问题是,我需要在单个文件中跨多个类使用这些包,因此我确实需要将这些导入设置为全局 现在我发现另一个StackOverflow post处理几乎相同的事情: 然而,这篇文章只处理常规导入,而不是类导入(可能有一个正确的名称,但我不知道) 有人知道怎么处理吗?你是说这样的事情吗 >>> def f(

所以我正在一个叫NAO的机器人上实现websocket客户端协议。如果不涉及太多细节,我就无法进行正常的导入,因为在执行任何导入语句之前都需要一个变量,所以我需要在方法中处理导入语句

问题是,我需要在单个文件中跨多个类使用这些包,因此我确实需要将这些导入设置为全局

现在我发现另一个StackOverflow post处理几乎相同的事情:

然而,这篇文章只处理常规导入,而不是类导入(可能有一个正确的名称,但我不知道)


有人知道怎么处理吗?

你是说这样的事情吗

>>> def f():
...     global pi
...     from math import pi
...
>>> pi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'pi' is not defined
>>> f()
>>> pi
3.141592653589793
>>>
>>def():
...     全局pi
...     从数学导入pi
...
>>>圆周率
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“pi”
>>>f()
>>>圆周率
3.141592653589793
>>>

我以前尝试过这个方法,但我不确定这是正确的方法,所以当我收到另一个错误时,我放弃了它。但你的回答让我对这个新错误有了一些了解。从方法导入似乎会导致具有导入的超类的类抛出错误。这种行为也可以在桌面上复制。我意识到这是一个完全不同的问题,但我不妨问:你知道解决这个问题的方法吗?@user2983738 hm也许我可以帮忙,但我需要更多的细节。也许只是提出一个新问题?调试代码时很难不看到它:)