对python同一个文件夹里面不同.py文件的交叉引用方法详解


Posted in Python onDecember 15, 2018

比如有两个模块,一个aa.py,一个bb.py 代码如下:

aa.py:

#encoding:utf-8

import bb

a=1

bb.py:

#encoding:utf-8

import aa

print aa.a

执行bb.py时,不能执行,打印错误 AttributeError: 'module' object has no attribute 'a'

原因:

如果执行bb的话,这时候bb是__main__,不是module,所以会执行到bb的from aa,这个时候python会执行aa.py,而aa.py一开始就是from bb,所以python又会去执行bb.py,因为bb.py的一开始就是from aa,并且因为之前执行过,所以这个时候aa已经在sys.module里面,所以python不会重新执行aa.py,而只是把sys.modules里面的aa返回给你,所以当执行到bb.py的print b 的时候,还没有执行aa.py里面的a=1,所以会有找不到a的attribute error

解决方案:

aa.py:

#encoding:utf-8

import bb

a=1

bb.py:

#encoding:utf-8

import aa

if __name__=="__main__":

 print aa.a

以上这篇对python同一个文件夹里面不同.py文件的交叉引用方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python模块之StringIO使用示例
Apr 08 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Python WEB应用部署的实现方法
Jan 02 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
深入学习python多线程与GIL
Aug 26 Python
python多进程重复加载的解决方式
Dec 13 Python
Python itertools.product方法代码实例
Mar 27 Python
Python 如何批量更新已安装的库
May 26 Python
如何在python中判断变量的类型
Jul 29 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 #Python
浅谈python 导入模块和解决文件句柄找不到问题
Dec 15 #Python
对python当中不在本路径的py文件的引用详解
Dec 15 #Python
对python3 中方法各种参数和返回值详解
Dec 15 #Python
对python中的argv和argc使用详解
Dec 15 #Python
Python输出\u编码将其转换成中文的实例
Dec 15 #Python
对python:print打印时加u的含义详解
Dec 15 #Python
You might like
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
php使用Jpgraph创建折线图效果示例
2017/02/15 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
js继承实现方法详解
2016/12/16 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
详解python的几种标准输出重定向方式
2016/08/15 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
如何更优雅地写python代码
2019/07/02 Python
python实现猜数字游戏
2020/03/25 Python
Python如何实现定时器功能
2020/05/28 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
违反学校规定检讨书
2014/01/18 职场文书
简单租房协议书
2014/10/21 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python