8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在文件之间使用全局变量?

Long96 1月前

72 0

我对全局变量的工作方式有点困惑。我有一个大型项目,大约有 50 个文件,我需要为所有这些文件定义全局变量。我所做的就是在我的项目中定义它们...

我对全局变量的工作原理有点困惑。我有一个大项目,大约有 50 个文件,我需要为所有这些文件定义全局变量。

我所做的是在我的项目 main.py 文件中定义它们,如下所示:

# ../myproject/main.py

# Define global myList
global myList
myList = []

# Imports
import subfile

# Do something
subfile.stuff()
print(myList[0])

我正在尝试使用 myList subfile.py 如下所示

# ../myproject/subfile.py

# Save "hey" into myList
def stuff():
    globals()["myList"].append("hey")

我尝试了另一种方法,但也没有用

# ../myproject/main.py

# Import globfile    
import globfile

# Save myList into globfile
globfile.myList = []

# Import subfile
import subfile

# Do something
subfile.stuff()
print(globfile.myList[0])

内心的想法 subfile.py 是这样的:

# ../myproject/subfile.py

# Import globfile
import globfile

# Save "hey" into myList
def stuff():
    globfile.myList.append("hey")

但同样,它不起作用。我该如何实现它?我知道当两个文件实际上并不了解对方时(子文件不了解主文件),它无法这样工作,但我想不出如何在不使用 io 写入或 pickle 的情况下做到这一点,而我不想这样做。

帖子版权声明 1、本帖标题:在文件之间使用全局变量?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Long96在本站《python》版块原创发布, 转载请注明出处!
最新回复 (0)
  • ha 乍一看是这样的,不是吗?def stuff() 中发生的事情是,文件加载时导入不会运行……它只在调用 stuff() 函数时运行。因此,从 main 开始,我们导入 subfile,然后调用 subfile.stuff(),然后导入 main……没有循环,只需在 main 中导入一次。请参阅 subfile.py 示例中有关导入循环的注释。

返回
作者最近主题: