python-3.x - python - 从file1中的变量在file2中创建变量并在file1中使用
问题描述
我正在尝试这样:
档案:一
list1 = [1, 2, 3]
list2 = [4, 5, 6]
from b import *
if obj1 is True:
print('obj1 is true')
if obj2 is True:
print('obj2 is true')
if obj3 is True:
print('obj3 is true')
文件:b
from a import *
obj1 = list1[0] + list2[0] < 7
obj2 = list1[1] + list2[1] < 7
obj3 = list1[2] + list2[2] < 7
输出应该就像在一个文件中一样:
'obj1 is true'
'obj2 is true'
现在我只是得到错误。我已经尝试了所有可能的导入方式。即使是这样:
档案:一
list1 = [1, 2, 3]
list2 = [4, 5, 6]
from b import obj1, obj2, obj3
if b.obj1 is True:
print('obj1 is true')
if b.obj2 is True:
print('obj2 is true')
if b.obj3 is True:
print('obj3 is true')
文件:b
from a import list1, list2
obj1 = a.list1[0] + a.list2[0] < 7
obj2 = a.list1[1] + a.list2[1] < 7
obj3 = a.list1[2] + a.list2[2] < 7
它与那个看不见的 ' name = main ' 变量有关吗?在此之后,我收到一个循环导入错误。这在python中是不可能的吗?有人可以解释怎么做吗?或者如果可能的话?
解决方案
如果它不能那样工作,那么只需将它们组合起来,如下所示:
py
list1 = [1, 2, 3]
list2 = [4, 5, 6]
obj1 = a.list1[0] + a.list2[0] < 7
obj2 = a.list1[1] + a.list2[1] < 7
obj3 = a.list1[2] + a.list2[2] < 7
if b.obj1 is True:
print('obj1 is true')
if b.obj2 is True:
print('obj2 is true')
if b.obj3 is True:
print('obj3 is true')
推荐阅读
- react-native - 是否可以在 ExpoKit 中使用交互式推送通知?
- c# - UWP 中几个 ui 元素的动画
- python - 创建列表列表并添加到 for 循环中的字典
- c# - 设备重启时如何重新连接tcp连接
- c++ - 将 unordered_map 的新实例插入 unordered_map
- php - Symfony:带有 GET 方法的表单,凌乱的 URL
- r - 如何在 RStudio 中导入带有汉字的大型 csv 数据
- node.js - 将 $lookup 与条件连接一起使用
- git-bash - 启动新终端时 bash 脚本不运行(Windows 10)
- algorithm - 处理大量的微依赖