修改python import模块中的变量

可以直接通过 模块名.变量名=xx 的方式修改模块中的全局变量,测试代码如下

模块:test_model.py

x = 111

def inc_x():
    global x
    x = x + 1

测试脚本:test.py

import test_model

print(‘test_model.x =‘, test_model.x)

test_model.x = 10
print(‘test_model.x =‘, test_model.x)

test_model.inc_x()
print(‘test_model.x =‘, test_model.x)
test_model.inc_x()
print(‘test_model.x =‘, test_model.x)

输出:

test_model.x = 111
test_model.x = 10
test_model.x = 11
test_model.x = 12

原文地址:https://www.cnblogs.com/xbit/p/10888110.html

时间: 2024-08-28 08:18:51

修改python import模块中的变量的相关文章

python中如何使用shell命令, 及python 与shell 中的变量相互通信

1. python中使用shell命令有多种方法,我自己觉得比较好用的是用commands模块: import commands a,b = commands.getstatusoutput("ls -Al") a是退出状态(int类型), b是shell 命令的输出结果 python -> shell: 1.环境变量 import os  var=123或var='123'os.environ['var']=str(var)  #environ的键值必须是字符串   os.sy

python import模块的搜索路径

当在py代码中import所依赖的模块时, python是从哪里找到这些模块呢,即模块的搜索路径是啥? 默认情况下,Python解释器会搜索当前目录.所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中: >>> import sys >>> sys.path ['', 'C:\\Windows\\system32\\python27.zip', 'd:\\Program Files\\python27\\DLLs', 'd:\\Program F

Python import模块

import模块 一.模块介绍 1.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个_init_.py文件) 2.导入方法 导入多个模块:import 模块1,模块2,模块3 导入所有函数:from 模块名 import * 导入多个函数:from 模块名 import 函数1,函数2,函数3 关键字修改函数名:

python with语句中的变量有作用域吗?

一直以为python中的with语句中的变量,只在with语句块中起作用.不然为什么要缩进一个级别呢? 呵呵,然而并没有为with语句内的变量创建新的作用域. 举例: # test.py with open('test.txt', 'w') as fout: a = 12 line = 'test line\n' fout.write(line) print('a=', a) #这里访问了a变量,会报错吗?并不会. 执行上述代码,发现最后一行的print语句并没有报错,因为with并没有为a新创

Python -- 使用模块中的函数

在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写上模块的名字.那么,可以使用import命令的另外一种形式: >>> from math import sqrt >>> sqrt(9) 3.0 在使用了“from 模块 import 函数”这种形式的import命令之后,就可以直接使用函数,而不需要模块名作为前缀. 事实上,可以使用变量来引用函数(或者Python之中大多数的对象).比如,通过 foo = math.sq

python threading模块中对于信号的抓取

最近的物联网智能网关(树莓派)项目中遇到这样一个问题:要从多个底层串口读取发来的数据,并且做出相应的处理,对于每个串口的数据的读取我能想到的可以采用两种方式: 一种是采用轮询串口的方式,例如每3s向每个串口的buffer区去取一次数据,但是这样可能会有缓冲区溢出的可能,同时,数据的同步也可能会出现一定的问题,因为数据的上传周期是可以用户自定义的,一旦用户定义的上传周期过短或过长,都可能造成读取的数据出问题. 另一种方式,就是采用多线程方式,把每个串口读取数据放在单独的子线程中,每个子线程阻塞于串

Python import 模块导入问题

最近在用Python做决策树(Decision tree)时, 遇见了一个以前没有遇到的问题,就是用'import sklearn.tree'时一切正常,但是'import sklearn..... sklearn.tree'时却报错说: AttributeError: 'module' object has no attribute 'tree'. python的导入机制是这样的,在用 'import sklearn' 时,它只会导入 \${sklearn_dir}/__init__.py 里

python collections模块中namedtuple()

最近看Ansible API中引用了collections的namedtuple() 网上搜了一番后,发现是一个集合模块,提供了多种集合类. In [1]: from collections import                Callable        Hashable        Mapping         namedtuple      ValuesView      _field_template _itemgetter                    Conta

python之字符串中插入变量

方法一:也是 比较好用的,功能教齐全 s="{name} is {sex}" print(s.format(name="zzy",sex="girl")) # zzy is girl 如果要被替换的变量能在变量域中找到, 那么你可以结合使用 format_map() 和 vars() vars()找到所有局部变量 name="zxc" sex="boy" print(s.format_map(vars())