python如何在利用import....as导入的文件中实现永久修改某个变量的值
时间: 2023-04-03 17:04:46 浏览: 87
可以使用global关键字将变量声明为全局变量,这样就可以在导入的文件中永久修改变量的值。例如:
```
# module1.py
my_var = 10
def change_var():
global my_var
my_var = 20
```
```
# main.py
import module1 as m1
print(m1.my_var) # 输出 10
m1.change_var()
print(m1.my_var) # 输出 20
```
相关问题
python语言from....import...
### Python `from...import` 语句解析
#### 基本语法
`from...import` 是一种用于导入模块中特定对象(如类、函数或变量)到当前命名空间的方式。这种方式可以减少代码冗余并提高可读性[^1]。
```python
from math import sqrt, pi
print(sqrt(9)) # 输出:3.0
print(pi) # 输出:3.141592653589793
```
#### 导入单个元素
当只需要使用某个模块内的某一部分功能时,可以直接指定要导入的对象名称:
```python
from datetime import date
today = date.today()
print("Today's date:", today)
```
#### 导入多个元素
可以通过逗号分隔来一次性导入多个对象:
```python
from random import choice, randint
random_number = randint(1, 100)
selected_item = choice(['apple', 'banana', 'orange'])
print(f"Random number between 1 and 100 is {random_number}")
print(f"The selected item is a/an {selected_item}.")
```
#### 使用别名
为了避免命名冲突或简化长名称的操作,可以在导入时给对象起个别名:
```python
from numpy import array as np_array
data = np_array([1, 2, 3])
print(data * 2)
```
#### 不推荐的做法
不建议使用通配符(*)来导入整个模块的内容,这可能会导致意外覆盖已存在的同名实体,并降低代码的清晰度[^3]。
```python
# 不推荐这样做
from os import *
getcwd() # 这样做可能掩盖其他地方定义过的 getcwd 函数
```
写一段python通过import。。。as实现对导入的python文件变量的永久修改的程序
可以使用以下代码实现:
```
import module_name as mod
# 修改变量
mod.variable_name = new_value
# 保存修改后的变量
importlib.reload(mod)
```
其中,`module_name`是你要导入的Python文件的名称,`variable_name`是你要修改的变量名,`new_value`是你要赋给该变量的新值。通过`importlib.reload(mod)`可以保存修改后的变量。
阅读全文