对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实现ipsec开权限实例
Nov 11 Python
Python的randrange()方法使用教程
May 15 Python
Python通过调用mysql存储过程实现更新数据功能示例
Apr 03 Python
python 获取当天每个准点时间戳的实例
May 22 Python
django解决跨域请求的问题
Nov 11 Python
python多线程抽象编程模型详解
Mar 20 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
Python绘图实现显示中文
Dec 04 Python
keras 多任务多loss实例
Jun 22 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 Python
Python如何将装饰器定义为类
Jul 30 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
学习ExtJS fit布局使用说明
2009/10/08 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
深入解析Python中的上下文管理器
2016/06/28 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
Python排序算法实例代码
2017/08/10 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python实现可逆简单的加密算法
2019/03/22 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
python for和else语句趣谈
2019/07/02 Python
python实现简单图书管理系统
2019/11/22 Python
美国时尚在线:Showpo
2017/09/08 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
最新英语专业学生求职信范文
2013/09/21 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技