溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何調(diào)用同級(jí)目錄

發(fā)布時(shí)間:2022-02-11 13:47:18 來(lái)源:億速云 閱讀:953 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Python如何調(diào)用同級(jí)目錄,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

    同級(jí)目錄(兄弟目錄)調(diào)用

    看書(shū)看得好好的,一寫(xiě)代碼就出錯(cuò)?。?!

    這個(gè)問(wèn)題是大家初學(xué)Python的時(shí)候會(huì)遇到的一個(gè)很常見(jiàn)的問(wèn)題,然后我們?nèi)ニ丫W(wǎng)上的教程,自己試一試還是都是BUG,常見(jiàn)的就是這兩個(gè)命令:

    ModuleNotFoundError: No module named 'XXXXXXX'

    ImportError: attempted relative import with no known parent package

    教程一般都是很詳細(xì)的給你分析,然后給你井不同文件的調(diào)用,其實(shí)整那么多沒(méi)事的干嘛是不是,我們要的只是解決辦法。

    詳細(xì)解釋

    注意

    1、我只說(shuō)兄弟的文件夾下面的調(diào)用,父子啥的__init__.py 搜一搜就可以了

    2、不要用Vscode ,Vscode的環(huán)境變量你是整不明白的

    3、我沒(méi)太多的時(shí)間花費(fèi)在博客上,所以遇到啥才會(huì)去擴(kuò)充啥,大家也可以在下面留言遇到的問(wèn)題和解決的辦法

    4、可能我說(shuō)的也會(huì)有錯(cuò)誤,但我主要的是解決我自己遇到的問(wèn)題

    開(kāi)始上代碼

    目錄結(jié)構(gòu)

    Python如何調(diào)用同級(jí)目錄

    a1.py

    def a1_print():
        print("a1_print  OK")

    b1.py

    from ..a.a1 import a1_print
    a1_print()

    運(yùn)行b1.py,報(bào)錯(cuò)

    Python如何調(diào)用同級(jí)目錄

    ImportError: attempted relative import with no known parent package

    原因

    文件夾被python解釋器視作package需要滿足兩個(gè)條件:

    • 文件夾中必須有__init__.py文件,該文件可以為空,但必須存在。不能作為頂層模塊來(lái)執(zhí)行該文件夾中的py文件,即使用…的文件夾外邊還需要有包含__init__.py的文件夾 (即不能作為主函數(shù)的入口)

    • 主就是 不能作為主函數(shù)的入口,兄弟引用不能作為入口,意思是你不能直接運(yùn)行b1.py,你可以在c1.py 這樣弄,b1.py 不可以 不可以 不可以

    我非要咋解決

    修改b1.py

    import sys# 加了這了
    sys.path.append("..")  ## 這個(gè)
    from a.a1 import a1_print  #改了這個(gè)
    a1_print()

    輸出

    Python如何調(diào)用同級(jí)目錄

    BUG

    Pycharm

    Python如何調(diào)用同級(jí)目錄

    我覺(jué)得還是不管它吧,能運(yùn)行就不錯(cuò)了,沒(méi)有啥影響。

    不要用Vscode 不要用Vscode 不要用Vscode 

    import同級(jí)目錄報(bào)錯(cuò)

    pycharm不會(huì)將當(dāng)前文件目錄自動(dòng)加入自己的sourse_path。右鍵make_directory as-->Sources Root將當(dāng)前工作的文件夾加入source_path就可以了。

    Python如何調(diào)用同級(jí)目錄

    Python如何調(diào)用同級(jí)目錄

    關(guān)于“Python如何調(diào)用同級(jí)目錄”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI