丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當(dāng)前位置:首頁 > 話題廣場 > 攻略專題 > 單機攻略

yy報錯,干貨看這篇!Python之模塊詳細(xì)梳理(四),相對導(dǎo)入報錯最優(yōu)雅解決方法

相對導(dǎo)入

相對導(dǎo)入是指在同一個項目下的不同模塊之間相互導(dǎo)入,稱為相對導(dǎo)入。

相對導(dǎo)入的案例

項目結(jié)構(gòu)圖如下:

項目名稱project,該目錄下有xx子項目和模塊。其中xx子目錄下有y和z兩個子目錄,y子目錄下有abc.py模塊和yy.py模塊,z子目錄下有zz.py模塊。yy.py是xx子項目的入口。是整個項目的入口。

模塊的內(nèi)容

""" 此模塊是整個project項目的入口 """ from xx.y import yy yy.f2() prin, yy.num2, yy.num3) out: 123 10 hello 10 123 888

yy.py模塊的內(nèi)容

""" 此模塊是xx子項目對外引用的入口 """ from .abc import * from ..z.zz import * num3 = 888 def f2(): print(num2) print(num1)

zz.py模塊的內(nèi)容

""" 子項目,被導(dǎo)入的子模塊 """ num1 = 10 def f(): print('hello')

abc.py模塊的內(nèi)容

""" 子項目,被導(dǎo)入的子模塊 """ num2 = 123

以上就是模擬大型項目的框架結(jié)構(gòu),測試運行模塊可以看到輸出正常,完全沒有問題。

請仔細(xì)看yy.py模塊的內(nèi)容:

from .abc import *語句:. 表示當(dāng)前目錄,abc表示abc.py模塊。

from ..z.zz import *語句,.. 表示父目錄,z表示z文件夾,zz表示zz.py模塊。

另外... 表示祖父目錄,請熟悉from 路徑標(biāo)識結(jié)構(gòu)。

相對導(dǎo)入:以from . 開頭的語句,例如from .abc import *。

絕對導(dǎo)入:以文件夾或包或模塊名開頭的語句,例如from xx.y import yy。

以上暫未遇到報錯,可如果你嘗試調(diào)試yy.py模塊,直接運行yy.py模塊時會報錯。

相對導(dǎo)入報錯信息

相對導(dǎo)入報錯情況分析

是不是非常奇怪!為什么運行模塊調(diào)用yy.py模塊時不報錯,而直接腳本方式運行yy.py模塊時會報錯。我在網(wǎng)上找了很多資料沒理出個頭緒。后來找到有建議在yy.py模塊中對添加路徑,方法雖然可行但不優(yōu)雅,也沒有解釋為什么yy.py模塊被調(diào)用時不報錯而直接運行會報錯。

我針對被調(diào)用時不報錯主動執(zhí)行時報錯的情況特地查了很多資料,做了仔細(xì)分析,關(guān)于上述這個特點我首先想到的是__name__,這個變量在被調(diào)用時和主動執(zhí)行時內(nèi)容是不一樣的。后來針對模塊調(diào)用查資料找到了__package__,這個變量在被調(diào)用時和主動執(zhí)行時內(nèi)容也是不一樣的。

下面我們嘗試打印__name__和__package__這兩個變量,看看在被調(diào)用和主動執(zhí)行時分別有什么不同。

修改yy.py模塊文件內(nèi)容

""" 此模塊是xx子項目對外引用的入口 """ from .abc import * from ..z.zz import * print(__name__) print(__package__) num3 = 888 def f2(): print(num2) print(num1)

執(zhí)行模塊的結(jié)果:

xx.y.yy xx.y 123 10 hello 10 123 888

直接執(zhí)行yy.py的結(jié)果(暫時注釋那2行相對導(dǎo)入的代碼,要不然報錯會導(dǎo)致看不到print打印內(nèi)容):

查看變量內(nèi)容

相對導(dǎo)入報錯的pythonic解決方法

認(rèn)真觀察yy.py模塊被導(dǎo)入時打印的內(nèi)容和主動執(zhí)行時打印的內(nèi)容不同之處。我想到了最pythonic的解決方案。

""" 此模塊是xx子項目對外引用的入口 """ __package__ = 'xx.y' from .abc import * from ..z.zz import * num3 = 888 def f2(): print(num2) print(num1)

直接修改__package__變量的值為被調(diào)用時的值,這樣主動運行yy.py模塊時不再報錯,被調(diào)用時也不報錯。

以上是相對導(dǎo)入的知識點梳理,我在yy.py模塊直接調(diào)試運行會報錯這一問題上花費很多時間和精力,最終想到了最優(yōu)雅的解決方式,希望對各位深入學(xué)python的朋友有所幫助,如果要轉(zhuǎn)載請注明出處和作者是“皛心”。

1.《yy報錯,干貨看這篇!Python之模塊詳細(xì)梳理(四),相對導(dǎo)入報錯最優(yōu)雅解決方法》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《yy報錯,干貨看這篇!Python之模塊詳細(xì)梳理(四),相對導(dǎo)入報錯最優(yōu)雅解決方法》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2541164.html

上一篇

海棠文學(xué)城入口專題之我和男閨蜜的女友,小斗了一下(150)

yy報錯,干貨看這篇!“音福K歌”上線第二天,YY的社交新思路告急

yy報錯,干貨看這篇!“音福K歌”上線第二天,YY的社交新思路告急

yy報錯相關(guān)介紹,文鋅刻度記者|虛假 編輯|羅西湖 1:剛上線,所以目前在“卡拉ok”上看不到教師在線直播,用戶制作的“卡拉ok”數(shù)量也不多,參與人數(shù)也不高。 2:從財報上來看,作為直播行業(yè)的頭部平臺,YY如今最大收益...

【yy報錯】專題YY官方致歉劉一手,年度盛典領(lǐng)獎失誤,誤將名字寫成“利一手”

【yy報錯】專題YY官方致歉劉一手,年度盛典領(lǐng)獎失誤,誤將名字寫成“利一手”

yy報錯相關(guān)介紹,YY2020年度慶典已經(jīng)落下帷幕,在今年的YY年度慶典頒獎典禮上,由于一些播音員沒能前來領(lǐng)獎,很多人都由別人代為領(lǐng)導(dǎo)。 不過有的主播雖然本人未能到場,但也會指派一些人代替自己去。而今年獲得YY年度盛典...

yy報錯專題之YY回應(yīng)渾水報告:包含大量錯誤信息,愿提供對賬單被第三方調(diào)查

yy報錯專題之YY回應(yīng)渾水報告:包含大量錯誤信息,愿提供對賬單被第三方調(diào)查

yy報錯相關(guān)介紹,經(jīng)濟觀察網(wǎng)記者林曉寧在昏迷中落空后,11月19日晚,聚會集團(tuán)(YY)在公司網(wǎng)站上發(fā)表了聲明。 YY稱,渾水報告包含大量錯誤的信息和陳述,以及誤導(dǎo)性結(jié)論。 為了反駁渾水報告對于公司利潤真實性的質(zhì)疑,YY...

關(guān)于yy報錯我想說最前線 | YY直播回應(yīng):渾水不了解直播行業(yè),報告包含大量錯誤信息

關(guān)于yy報錯我想說最前線 | YY直播回應(yīng):渾水不了解直播行業(yè),報告包含大量錯誤信息

yy報錯相關(guān)介紹,11月17日,百度宣布以36億美元收購全資收購,將聚集在國內(nèi)直播業(yè)務(wù)(如“YY直播”)中。 僅過兩天,知名做空機構(gòu)渾水調(diào)研公司(Muddy Waters Research)在官方推特發(fā)表報告,稱YY直...

yy報錯專題之YY直播被指粉絲造假遭渾水做空 回應(yīng):包含大量錯誤

yy報錯專題之YY直播被指粉絲造假遭渾水做空 回應(yīng):包含大量錯誤

yy報錯相關(guān)介紹,昏迷事件空中狗主聚集的時代引起了媒體的關(guān)注。 在報告中,渾水公司表示,快樂時代直播事業(yè)90%的收入是假的,直播中虛擬禮物的50%來自公司自己的服務(wù)器,剩下的40%來自外部機器人或播音員自己獲獎。 11...

關(guān)于yy報錯我想說歡聚集團(tuán)回應(yīng)被做空:渾水報告無知,以偏概全,包含大量錯誤

關(guān)于yy報錯我想說歡聚集團(tuán)回應(yīng)被做空:渾水報告無知,以偏概全,包含大量錯誤

yy報錯相關(guān)介紹,彭派新聞記者最好揭發(fā)這本書 我認(rèn)為愉快的聚會在嫁妝的空白報告中包含了大量的錯誤。 11月19日下午,歡聚集團(tuán)(Nasdaq:YY)回應(yīng)渾水做空報告稱,渾水的報告充滿了對直播行業(yè)和直播生態(tài)的無知,報告中...

yy報錯專題之歡聚集團(tuán)回應(yīng)渾水做空:以偏概全,包含大量錯誤

yy報錯專題之歡聚集團(tuán)回應(yīng)渾水做空:以偏概全,包含大量錯誤

yy報錯相關(guān)介紹,觀察者網(wǎng)大橘財經(jīng)信(文/又名編輯/張)為空氣區(qū)昏迷(Muddy Waters Research)做空事,11月19日下午,聚會回應(yīng)了觀察者網(wǎng)。渾水的報告充滿了對直播產(chǎn)業(yè)和直播生態(tài)的無知,報告的邏輯不明...

yy報錯看這里!歡聚集團(tuán)稱渾水報告包含大量錯誤 YY股價盤中大跌盤后大漲

yy報錯看這里!歡聚集團(tuán)稱渾水報告包含大量錯誤 YY股價盤中大跌盤后大漲

yy報錯相關(guān)介紹,美國時間11月18日,聚會集團(tuán)股價突然暴跌,一度超過29%,收盤時聚會集團(tuán)股價從26.48%下跌至73.66美元/股,市值為59.5億美元。 一夜之間,歡聚集團(tuán)的市值蒸發(fā)了22億美元,而導(dǎo)致這一幕出現(xiàn)...