对python同一个文件夹里面不同.py文件的交叉引用方法详解
作者:Hi大少 发布时间:2023-12-24 00:54:27
标签:python,py文件,引用
比如有两个模块,一个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
来源:https://blog.csdn.net/u013359114/article/details/50688141


猜你喜欢
- 方法1: 用SET PASSWORD命令mysql -u rootmysql> SET PASSWORD FOR 'root&
- 1. 概述触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。 所以触发器可以用来实现
- 准备工作(接上篇文章的示例也可以):1. 在index.js文件中引入任一js文件import sum from './sum
- MYSQL数据库以它短小、方便、速度快、免费等优点成为很多网站目前首选数据库,但一般都是用PHP+MYSQL相结合来开发各种动态页面,其实A
- 一、前言 本文翻译自微软的牛人Scott Allen Prototypes and Inheritance in JavaScript ,本
- 前言树是数据结构中非常重要的一种,主要的用途是用来提高查找效率,对于要重复查找的情况效果更佳,如二叉排序树、FP-树。另外可以用来提高编码效
- 如何在本地机器上创建缓存?用法到是很简单,只需先创建Stream对象的实例,然后开始写入数据即可: Dim str&n
- 顺序表python版的实现(部分功能未实现)结果展示:代码示例:#!/usr/bin/env python# -*- coding:utf-
- *在起初pip install matplotlib时,主动安装到当时最新版本(matplotlib==3.3.2),在StackOverf
- numpy模块下的median作用为: 计算沿指定轴的中位数返回数组元素的中位数其函数接口为:median(a, axis=None, ou
- 前言实验目的:掌握开发、测试、发布、调用进程间通信的基本方法、工具和流程,理解独立构件体系结构基本原理、结构和特点。掌握使用当今主流云平台来
- 1. 概述对于社区,没有一个明确的定义,有很多对社区的定义,如社区是指在一个网络中,有一组节点,它们彼此都相似,而组内的节点与网络中的其他节
- 1,exists和in的理解exists:如果子查询中包括某一行,那么就为TRUE in:如果操作数为TRUE等于表达式列表中的一个,那么就
- 几天前,想把上个月校园招聘的餐旅费报销一下。结果在公司内网的报销系统折腾了三个半小时才搞定。看看自己报销的金额:802块。觉得挺无奈,花了三
- 新版本的selenium已经明确警告将不支持PhantomJS,建议使用headless的Chrome或FireFox。两者使用方式非常类似
- isdigit() isalpha()用于判断字符串的类型要求1统计某个字符串中的数字数量并输出,例如字符串为“adsf
- 我就废话不多说了,大家还是直接看代码吧~package mainimport ("fmt""os/exec&q
- 本文主要内容:聚类算法的特点聚类算法样本间的属性(包括,有序属性、无序属性)度量标准聚类的常见算法,原型聚类(主要论述K均值聚类),层次聚类
- 一、并发访问控制实现的并发访问的控制技术是基于锁;锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁;InnoDB支持表级锁和行级锁;锁
- 我就废话不多说,直接上代码吧!from PIL import ImageGrabimport timeimport scheduleimpo