水木社区手机版
首页
|版面-Python的自由天空(Python)|
新版wap站已上线
返回
1/1
|
转到
主题:如何调用全局变量?
楼主
|
kpo
|
2021-07-13 15:52:41
|
展开
查了一堆csdn,实在看不懂……
简单地说就是我的a.py里面计算生成了一个data(dataframe)
我想在b.py里面调用data
如果采用最简单的 from a import data,那么data的计算会重新跑一遍,这不是我想要的,我想要那个已经算好的data
csdn上一堆讲main函数什么的,实在没有太看懂……求个方案,感激!
--
FROM 223.104.41.*
2楼
|
kpo
|
2021-07-13 17:13:01
|
展开
谢谢!
按照方法测试了下,原来是a计算出df1,b调用a,现在弄了一个config里面设定data,然后a里面赋值config.data=df1,b里面import a和config,还是会计算一遍df1
换句话说如果不import a只importconfig,那么无法给data赋值,最后好像还是要再引用一遍导致计算?
【 在 freesand 的大作中提到: 】
:
https://docs.python.org/zh-cn/3/faq/programming.html#how-do-i-share-global-variables-across-modules
--
FROM 223.104.41.*
4楼
|
kpo
|
2021-07-13 18:36:59
|
展开
我确实是这样妄图的
那我大概理解这个逻辑了……我原以为是可以用一个全局变量管理的模块来接收其他模块对变量的赋值
【 在 fanjiyouyi 的大作中提到: 】
: 难道你是先单独用a计算,再妄图用b去读计算结果?
: import不是这用途的
: 应该是import后,b里调用a中计算函数,再读取结果变量
--
FROM 223.104.40.*
11楼
|
kpo
|
2021-07-15 10:34:43
|
展开
是的……纯纯的现学python来解决问题
【 在 zinfandel 的大作中提到: 】
: 如果这样,那csdn里应当说的对着呢 就是函数调用而已
: 另外你是不是原来没学过c?
--
FROM 223.104.41.*
12楼
|
kpo
|
2021-07-15 10:35:01
|
展开
这个是我现在的方案!
【 在 sigmoid123 的大作中提到: 】
: 直接在a文件把计算结果存成csv,b文件读取csv就好了呀
: 来自 M2102J2SC
--
FROM 223.104.41.*
13楼
|
kpo
|
2021-07-15 10:37:18
|
展开
emm确实,其实我的需求就是有几个模块,一个模块负责每天一次性的底层数据梳理,另一个模块负责多次的调用新的底层数据来输入、计算结果输出
目前采用第一个模块生成csv的模式来运行了
【 在 ToSimplicity 的大作中提到: 】
: 你需要的并不是全局变量吧,
: 把一堆庞大的数据放在全量变量里非常糟糕,
: 数据最好越晚生成越好。比如,只在第一次访问时生成。如果从来也不访问,自然就从来也不生成。
: ...................
--
FROM 223.104.41.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版