对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类的专用方法实例分析
Jan 09 Python
python动态参数用法实例分析
May 25 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
Python数据可视化库seaborn的使用总结
Jan 15 Python
python中的print()输出
Apr 12 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
python3的print()函数的用法图文讲解
Jul 16 Python
Mac PyCharm中的.gitignore 安装设置教程
Apr 16 Python
解决Django Haystack全文检索为空的问题
May 19 Python
python中如何进行连乘计算
May 28 Python
python实现扫雷游戏的示例
Oct 20 Python
Python 多线程之threading 模块的使用
Apr 14 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
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
js验证上传图片的方法
2015/05/12 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
Vue设置长时间未操作登录自动到期返回登录页
2020/01/22 Javascript
基于python list对象中嵌套元组使用sort时的排序方法
2018/04/18 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
监理资料员岗位职责
2014/01/03 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
大学生励志演讲稿
2014/04/25 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书