Python 跨文件 function函数 定义全局变量 代码实例

老季是Python新手,下面我们记录一下如何跨文件定义一个全局变量。

  • cnc.py 主程序文件
  • func.py 功能函数文件
  • cmcc.py

我们需要在main.py、cmss.py里定义了一个变量,lockfile 当然这里文件里的各个值是不同的。我们如何在func.py的函数里使用这个lockfile的值呢?

开始我们使用的是 global lockfile 方法,这种只能在单文件里赋值,比如:

lockfile = 1
def jrun():
    global lockfile   
    return lockfile+2

这样的话可以正常运行,返回3 。但是如果我们把jrun()放入到另外一个文件里,就无法运行了。因为在这个py模块中并没有一个叫做lockfile的变量,于是就会报错未定义。 下面我们给出正确的方法。

cnc.py

import func
lockfile = '/tmp/laoji.org.cnc'
func.GlobalVar.lockFileName = lockfile #赋值到func里
func.t = 123
a()

func.py

class GlobalVar:
    lockFileName = None
t = None
def a():
    xxx = GlobalVar.lockFileName #这里就可以调用到设置的lockFileName值
    global t
    # 这里也同样可以调用到t的值
    dosomething...

cmc.py

import func
lockfile = '/tmp/laoji.org.cmc'
func.GlobalVar.lockFileName = lockfile  #这里就可以调用到设置的lockfile值了
func.t = 333
a()

这里仅仅提供思路,大家还要根据实际情况举一反三。

厂家CPU内存硬盘流量价格购买链接
RamNode11GB25GB-SSD500GB/mUSD $5购买
Linode11GB25GB-SSD1000GB/mUSD $5购买
DigitalOcean11GB25GB-SSD1000GB/mUSD $5/m购买
Vultr11GB25GB-SSD1000GB/mUSD $5/m购买
腾讯云Qcloud22GB50GB-SSD购买

Posted

in

by

Comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注