对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中的数据存储模块shelve的用法
Mar 03 Python
python人民币小写转大写辅助工具
Jun 20 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python找出完数的方法
Nov 12 Python
python获取服务器响应cookie的实例
Dec 28 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
python实现移位加密和解密
Mar 22 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
May 18 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
详解python的xlwings库读写excel操作总结
Feb 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
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
python万年历实现代码 含运行结果
2017/05/20 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python根据时间获取周数代码实例
2019/09/30 Python
python opencv如何实现图片绘制
2020/01/19 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
详细的本科生职业生涯规划范文
2014/09/16 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2014年设计师工作总结
2014/11/25 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
法律服务所工作总结
2015/08/10 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
mysql如何配置白名单访问
2021/06/30 MySQL
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python