对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 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
详细解析Python中的变量的数据类型
May 13 Python
Python实现栈的方法
May 26 Python
Python实现简单的四则运算计算器
Nov 02 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
Python爬虫框架scrapy实现的文件下载功能示例
Aug 04 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
python实现朴素贝叶斯算法
Nov 19 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
Python实现计算图像RGB均值方式
Jun 04 Python
python3排序的实例方法
Oct 20 Python
python实现自动化群控的步骤
Apr 11 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
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
浅析php变量作用域的一些问题
2013/08/08 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
phpinfo的知识点总结
2019/10/10 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
npm 下载指定版本的组件方法
2018/05/17 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
详解vue v-model
2020/08/31 Javascript
Python import自定义模块方法
2015/02/12 Python
Python中with及contextlib的用法详解
2017/06/08 Python
快速了解Python相对导入
2018/01/12 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
基于python图像处理API的使用示例
2020/04/03 Python
Python函数调用追踪实现代码
2020/11/27 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
会议邀请函范文
2014/01/09 职场文书
学生检讨书怎么写
2015/05/07 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android