对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库urllib与urllib2主要区别分析
Jul 13 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
Python中一行和多行import模块问题
Apr 01 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
flask中过滤器的使用详解
Aug 01 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
pandas.read_csv参数详解(小结)
Jun 21 Python
Python list运算操作代码实例解析
Jan 20 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
多个版本的python共存时使用pip的正确做法
Oct 26 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!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
js document.write()使用介绍
2014/02/21 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
HTML5拖放效果的实现代码
2016/11/17 HTML / CSS
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
教师党员承诺书
2014/03/25 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
会议邀请函
2015/01/30 职场文书
人事主管岗位职责
2015/02/04 职场文书
人工作失职检讨书
2015/05/05 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书