对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求解平方根的方法
Mar 11 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
Python中一些不为人知的基础技巧总结
May 19 Python
Python发展史及网络爬虫
Jun 19 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
python如何求数组连续最大和的示例代码
Feb 04 Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 Python
如何设置PyCharm中的Python代码模版(推荐)
Nov 20 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
python在协程中增加任务实例操作
Feb 28 Python
Python实现的扫码工具居然这么好用!
Jun 07 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 include,include_once,require,require_once
2008/09/05 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
详解vue项目首页加载速度优化
2017/10/18 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python 正则式使用心得
2009/05/07 Python
Python中删除文件的程序代码
2011/03/13 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
Python中字符串List按照长度排序
2019/07/01 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
勾股定理课后反思
2014/04/26 职场文书
人事经理岗位职责范本
2014/08/04 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
党的群众路线调研报告
2014/11/03 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
MySQL update set 和 and的区别
2021/05/08 MySQL
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技