首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中从另一个程序调用main函数中的变量?

如何在python中从另一个程序调用main函数中的变量?
EN

Stack Overflow用户
提问于 2016-10-16 22:01:08
回答 2查看 1.4K关注 0票数 0

我有两个python文件first.py和second.py

first.py看起来像

代码语言:javascript
复制
def main():
  #some computation
  first_variable=computation_result

second.py看起来像

代码语言:javascript
复制
import first
def main():
  b=getattr(first, first_variable)
  #computation

但是我得到了No Attribute错误。有没有办法通过second.py访问first.py的main()方法中的变量?

EN

回答 2

Stack Overflow用户

发布于 2016-10-16 22:11:17

您应该使用函数调用和返回值,而不是这样。

从第一个文件中的函数返回computation_result,然后将结果存储在第二个文件的b变量中。

first.py

代码语言:javascript
复制
def main():
    # computation
    return computation_result

second.py

代码语言:javascript
复制
import first
def main():
    b = first.main()

另一种选择是在第一个文件中使用全局变量,您将在其中存储值并在以后引用它。

票数 4
EN

Stack Overflow用户

发布于 2016-10-16 22:18:23

您需要阅读教程中的9.1 and 9.2和语言参考中的Naming and Binding

在你的例子中,first_variable只存在于first.main()的本地作用域中--当它执行的时候。它不能被该作用域之外的任何东西访问。

您需要将first_variable放入first的全局作用域中-然后在second中,您可以将其与first.first_variable一起使用。

一种方法是从first.main()返回一些内容并将其分配给first_variable

代码语言:javascript
复制
def main():
    return 2

first_variable = main()

然后在second中,你可以使用它:

代码语言:javascript
复制
import first
times_3 = first.first_variable * 3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40071150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档