对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实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
Pycharm学习教程(3) 代码运行调试
May 03 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
详解Python的三种可变参数
May 08 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
Django如何使用jwt获取用户信息
Apr 21 Python
Python中的全局变量如何理解
Jun 04 Python
Django REST framework 限流功能的使用
Jun 24 Python
如何利用opencv判断两张图片是否相同详解
Jul 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数组操作汇总 php数组的使用技巧
2011/07/17 PHP
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
npm qs模块使用详解
2020/02/07 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
python读写二进制文件的方法
2015/05/09 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
上海期货面试题
2014/01/31 面试题
大学生旅游业创业计划书
2014/01/29 职场文书
纪检监察建议书
2014/05/19 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
家长反馈意见及建议
2015/06/03 职场文书
python 解决微分方程的操作(数值解法)
2021/05/26 Python
如何利用pygame实现打飞机小游戏
2021/05/30 Python
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技