对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中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
python Pandas 读取txt表格的实例
Apr 29 Python
Python实现的简单计算器功能详解
Aug 25 Python
Django Rest framework之认证的实现代码
Dec 17 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
基于Python实现签到脚本过程解析
Oct 25 Python
python数字类型math库原理解析
Mar 02 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
python中加背景音乐如何操作
Jul 19 Python
Python中如何处理常见报错
Jan 18 Python
Python 数据可视化工具 Pyecharts 安装及应用
Apr 20 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 运行效率总结(提示程序速度)
2009/11/26 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
Angular的$http与$location
2016/12/26 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
Python简单实现安全开关文件的两种方式
2016/09/19 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
Python paramiko模块的使用示例
2018/04/11 Python
python矩阵的转置和逆转实例
2018/12/12 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
文员岗位职责
2013/11/09 职场文书
精细化工应届生求职信
2013/11/17 职场文书
党员活动日总结
2014/05/05 职场文书
2014年部门工作总结
2014/11/12 职场文书
2014年接待工作总结
2014/11/26 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
贷款工作证明模板
2015/06/12 职场文书
新闻稿格式范文
2015/07/18 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
导游词之太原天龙山
2020/01/02 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
十个Python自动化常用操作,即拿即用
2021/05/10 Python