对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利用matplotlib库绘制饼图的方法示例
Dec 18 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
Python中的pygal安装和绘制直方图代码分享
Dec 08 Python
Python AES加密实例解析
Jan 18 Python
tensorflow获取变量维度信息
Mar 10 Python
python进阶之多线程对同一个全局变量的处理方法
Nov 09 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
Python中断多重循环的思路总结
Oct 04 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
Django自带的用户验证系统实现
Dec 18 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新手谈谈我的学习心得
2007/02/25 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
浅谈json_encode用法
2015/03/05 PHP
php中file_exists函数使用详解
2015/05/08 PHP
PHP微信发送推送消息乱码的解决方法
2019/02/28 PHP
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
2016/08/01 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
Vue是怎么渲染template内的标签内容的
2020/06/05 Javascript
python的常见命令注入威胁
2013/02/18 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python读写unicode文件的方法
2015/07/10 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
django跳转页面传参的实现
2020/09/17 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
技校个人求职信范文
2014/01/25 职场文书
高中升旗仪式演讲稿
2014/09/09 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
2015年材料员工作总结
2015/04/30 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书