在一个py模块中如何调用另一个py文件(import导入的)局部变量,如果这个局部变量是执行语句bind
时间: 2023-06-13 11:06:25 浏览: 62
如果要在一个 Python 模块中调用另一个 Python 文件中的局部变量,需要将该变量定义在全局作用域中,否则将无法在另一个模块中使用。
假设有两个 Python 文件:`module1.py` 和 `module2.py`。在 `module1.py` 中定义了一个局部变量 `bind`,如下所示:
```python
def foo():
bind = 123
```
为了在 `module2.py` 中使用 `bind`,需要将其定义在全局作用域中,可以按照以下步骤进行:
1. 在 `module1.py` 中将 `bind` 定义为全局变量:
```python
bind = None
def foo():
global bind
bind = 123
```
2. 在 `module2.py` 中导入 `module1.py` 并使用 `bind`:
```python
from module1 import bind
print(bind) # 输出 None
# 调用 module1.py 中的函数
foo()
print(bind) # 输出 123
```
需要注意的是,如果 `bind` 是一个执行语句,则可能需要先在 `module1.py` 中执行该语句,然后再在 `module2.py` 中导入 `module1.py` 并使用 `bind`。例如:
```python
# module1.py
import some_module
# 执行语句
bind = some_module.some_function()
def foo():
global bind
bind = 123
```
```python
# module2.py
from module1 import bind
print(bind) # 输出 some_module.some_function() 的返回值
# 调用 module1.py 中的函数
foo()
print(bind) # 输出 123
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)