专栏首页Urlteampython通过配置文件共享全局变量

python通过配置文件共享全局变量

在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况,此时通过配置文件定义全局变量是一个比较好的选择。

首先配置config.py模块,config需要设置get_xxx和set_xxx的方法提供对外的接口

class global_var:
    '''需要定义全局变量的放在这里,最好定义一个初始值'''
    name = 'my_name'

# 对于每个全局变量,都需要定义get_value和set_value接口
def set_name(name):
    global_var.name = name
def get_name():
    return global_var.name
class global_var:
    '''需要定义全局变量的放在这里,最好定义一个初始值'''
    name = 'my_name'

# 对于每个全局变量,都需要定义get_value和set_value接口
def set_name(name):
    global_var.name = name
def get_name():
    return global_var.name

上诉学习自:http://blog.csdn.net/suzyu12345/article/details/51534015

实践一下:

建立三个文件,分别是

main.py

import config
import time
from change import change_name

for i in range(100):
    name = config.get_name()
    print(name)
    config.set_name('new_name')
    print(config.get_name())
    time.sleep(1)
    change_name()

config.py

class global_var:
    name = 'my_name'

def set_name(name):
    global_var.name = name
def get_name():
    return global_var.name

change.py

import config

def change_name():
    config.set_name('new_name1111')
    print(config.get_name())

然后执行main.py,结果如下,出现两次new_name1111 说明在多个文件之间已经共享了name这个变量。

new_name
new_name1111
new_name1111
new_name
new_name1111
new_name1111
new_name

原创文章,转载请注明: 转载自URl-team

本文链接地址: python通过配置文件共享全局变量

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 高度伪造的爬虫&&X-Forwarded-For伪造ip跳过ip限制

    针对需要大量代理ip的R××项目,采用伪造式的请求头跳过验证码和每日请求次数限制,现在针对请求做详细的拟人化,让对面更难以察觉。如有不足多多指教。项目最新完整代...

    十四君
  • hackathon最终作品展示

    飞行器:  STM32 + pid控制算法,无线视频传输,无线充电技术。 IOS:FFMpeg—CoreImage–AFNetworking 服务端:阿里百...

    十四君
  • 让树莓派开机运行Python脚本

    这个方式不用修改 rc.local 文件。机制上类似于 Windows 的“开始”菜单中的“启动”菜单。方法如下:

    十四君
  • Oracle通过substr,instr,translate函数的组合获取日期分割表

    写这一篇文章也是因为项目从SQL数据库导入Oracle数据库中遇到的问题,主要是我们要导入的数据有年月的分割表的查询。

    Vaccae
  • Python操作Redis的最佳实践

    致码DevOps
  • Memcached·Redis缓存的基本操作

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、...

    Wyc
  • pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    首先拉取 Redis 镜像, 这里我选择的是 redis:alpine 轻量级镜像版本:

    素质
  • 小朋友学C++(6):this指针

    this指针是一个隐含于类中的特殊指针,指向对象本身。也就是说对象一旦被创建,this指针也就存在了。 就好比你的名字叫做Teodoro,别人说你的时候用的是T...

    海天一树
  • [python]父类、子类、子类实例属性

    py3study
  • xcode编译的时候陷入无限indexing的问题笔记

    “Swift因为有类型推断,一般来说你很少需要写类型标注。如果你在声明常量或者变量的时候赋了一个初始值,Swift可以推断出这个常量或者变量的类型”,而事实上,...

    练小习

扫码关注云+社区

领取腾讯云代金券