對(duì)python同一個(gè)文件夾里面不同.py文件的交叉引用方法詳解
比如有兩個(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)文章
python的pdb調(diào)試命令的命令整理及實(shí)例
這篇文章主要介紹了python的pdb調(diào)試命令的命令整理及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07詳解Python中的魔法函數(shù)與量子計(jì)算模擬
這篇文章主要介紹了python的魔法函數(shù)和量子計(jì)算模擬,我們可以通過(guò)一個(gè)實(shí)際的案例來(lái)先審視一下這兩個(gè)需求是如何被結(jié)合起來(lái)的,希望對(duì)大家有所幫助2023-03-03Python虛擬機(jī)字節(jié)碼教程之裝飾器實(shí)現(xiàn)詳解
在本篇文章當(dāng)中主要給大家介紹在?cpython?當(dāng)中一些比較常見(jiàn)的字節(jié)碼,從根本上理解?python?程序的執(zhí)行。在本文當(dāng)中主要介紹一些?python?基本操作的字節(jié)碼,并且將從字節(jié)碼的角度分析函數(shù)裝飾器的原理2023-04-04快速解決vue.js 模板和jinja 模板沖突的問(wèn)題
今天小編就為大家分享一篇快速解決vue.js 模板和jinja 模板沖突的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python腳本啟動(dòng)應(yīng)用并輸入賬號(hào)或密碼的操作命令
這篇文章主要介紹了Python腳本啟動(dòng)應(yīng)用并輸入賬號(hào)或密碼,安裝所需要的模塊pyautogui、subprocess、psutil等,可以通過(guò)pip安裝,下面以安裝pyautogui為例cmd命令行中輸入,需要的朋友可以參考下2024-05-05解決python錯(cuò)誤提示:TypeError: expected string or&nb
這篇文章主要介紹了解決python錯(cuò)誤提示:TypeError: expected string or bytes-lik問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01python保存大型 .mat 數(shù)據(jù)文件報(bào)錯(cuò)超出 IO 限制的操作
這篇文章主要介紹了python保存大型 .mat 數(shù)據(jù)文件報(bào)錯(cuò)超出 IO 限制的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05