一个python文件a.py中有多个函数有变量save_path,另一个python文件b.py可以调用该python的save_path变量,将a.py的save_path值改变。
时间: 2024-02-22 13:57:51 浏览: 109
python 在某.py文件中调用其他.py内的函数的方法
5星 · 资源好评率100%
在Python中,模块是单例的,也就是说,在Python中,每个模块只会被加载一次。因此,如果你在a.py文件中定义了一个全局变量`save_path`,那么在b.py文件中调用并修改该变量,那么该变量的值将在a.py文件中被修改,并且在后续的a.py文件中的函数调用中也会使用该新的值。
例如,假设a.py文件中有以下代码:
```python
# a.py
save_path = "/path/to/file"
def function1():
print(save_path)
def function2():
global save_path
save_path = "/new/path/to/file"
print(save_path)
```
现在,如果你在b.py文件中调用a.py文件中的函数并修改`save_path`变量的值,那么该变量的值将在整个a.py文件中被修改。
```python
# b.py
import a
print(a.save_path) # 输出: /path/to/file
a.function2()
print(a.save_path) # 输出: /new/path/to/file
```
需要注意的是,在b.py文件中对`save_path`变量进行修改时,需要先将变量声明为全局变量。这样,Python就知道你要修改的是模块级别的变量,而不是函数内部的局部变量。像上面的例子中,`function2()`中的`global save_path`语句就是用来声明`save_path`变量是模块级别的全局变量。
阅读全文