欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對(duì)python同一個(gè)文件夾里面不同.py文件的交叉引用方法詳解

 更新時(shí)間:2018年12月15日 12:29:39   作者:Hi大少  
今天小編就為大家分享一篇對(duì)python同一個(gè)文件夾里面不同.py文件的交叉引用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

比如有兩個(gè)模塊,一個(gè)aa.py,一個(gè)bb.py 代碼如下:

aa.py:

#encoding:utf-8

import bb

a=1

bb.py:

#encoding:utf-8

import aa

print aa.a

執(zhí)行bb.py時(shí),不能執(zhí)行,打印錯(cuò)誤 AttributeError: 'module' object has no attribute 'a'

原因:

如果執(zhí)行bb的話,這時(shí)候bb是__main__,不是module,所以會(huì)執(zhí)行到bb的from aa,這個(gè)時(shí)候python會(huì)執(zhí)行aa.py,而aa.py一開(kāi)始就是from bb,所以python又會(huì)去執(zhí)行bb.py,因?yàn)閎b.py的一開(kāi)始就是from aa,并且因?yàn)橹皥?zhí)行過(guò),所以這個(gè)時(shí)候aa已經(jīng)在sys.module里面,所以python不會(huì)重新執(zhí)行aa.py,而只是把sys.modules里面的aa返回給你,所以當(dāng)執(zhí)行到bb.py的print b 的時(shí)候,還沒(méi)有執(zhí)行aa.py里面的a=1,所以會(huì)有找不到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

以上這篇對(duì)python同一個(gè)文件夾里面不同.py文件的交叉引用方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論