找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2766|回复: 1

[求助] python3 相互import出错

1

主题

2

帖子

2

积分

贫民

积分
2
淡然 发表于 2018-7-7 11:04:46 | 显示全部楼层 |阅读模式
同级目录下多个py文件 : A.py 和 a1.py,a2,py,a3.py....A.py中调用a1.py, a2.py, a3.py ...中的函数,内容

A.py
#!/usr/bin/python3
import a1
import a2
import a3
...

#定义两个变两,在a1.py,a2.py...的func()中都使用到,原本单独写的,嫌麻烦,又不想再建一个文件,就直接扔到A.py中了
g_a =
g_b =

def func():
    list = [1,2,3,...]
    for i in list :
        if i == 1:
            a1.func()
        elif i == 2:
            a2.func()
        ...

func()

其他py文件内容
a1.py, a2.py ...
#!/usr/bin/python3
#from A import *
#from A import g_a,g_b

func():
    #from A import g_a,g_b
    print(g_a)
    print(g_b)

当只有A.py 和 a1.py两个文件时,执行A.py,三种import方式都没问题
当有A.py调用多个a1.py, a2.py,...时
三种import方式只有在a1.py,b1.py 中的func()中from A import g_a,g_b调用才成功,在顶部直接调用的都报错或者a1.py,a2.py的func()调用g_a,g_b提示未定义
import 调用内部是怎么实现的??函数中调用和文件头调用区别,调用* 和调用具体函数变量区别,import 和 from  import 区别

回复

使用道具 举报

1

主题

11

帖子

11

积分

贫民

积分
11
x1wen 发表于 2018-7-14 11:26:59 | 显示全部楼层
好乱,看着脑壳都疼。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表