对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实现socket端口重定向示例
Feb 10 Python
Python中decorator使用实例
Apr 14 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
python把1变成01的步骤总结
Feb 27 Python
matplotlib实现区域颜色填充
Mar 18 Python
Python QQBot库的QQ聊天机器人
Jun 19 Python
flask框架配置mysql数据库操作详解
Nov 29 Python
NumPy排序的实现
Jan 21 Python
python的reverse函数翻转结果为None的问题
May 11 Python
python简单验证码识别的实现过程
Jun 20 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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 开源框架22个简单简介
2009/08/24 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
Three.js基础部分学习
2017/01/08 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
python和php哪个更适合写爬虫
2020/06/22 Python
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
教师师德教育的自我评价
2013/10/31 职场文书
小学英语课后反思
2014/04/26 职场文书
投资合作意向书范本
2015/05/08 职场文书
上诉状格式
2015/05/23 职场文书
首都博物馆观后感
2015/06/05 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
jquery插件实现代码雨特效
2021/04/24 jQuery
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers