1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      解決python無法使用import語句的問題

      這篇文章將為大家詳細(xì)講解有關(guān)解決python無法使用import語句的問題,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

      在蘭山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,蘭山網(wǎng)站建設(shè)費(fèi)用合理。

      在練習(xí)Python中package的相對導(dǎo)入時(shí),即

      from . import XXX

      或者

      from .. import XXX

      有時(shí)會(huì)遇到這樣兩個(gè)錯(cuò)誤:

      SystemError: Parent module '' not loaded, cannot perform relative import

      ValueError: attempted relative import beyond top-level package

      其實(shí)這兩個(gè)錯(cuò)誤的原因歸根結(jié)底是一樣的:在涉及到相對導(dǎo)入時(shí),package所對應(yīng)的文件夾必須正確的被python解釋器視作package,而不是普通文件夾。否則由于不被視作package,無法利用package之間的嵌套關(guān)系實(shí)現(xiàn)python中包的相對導(dǎo)入。

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

      1、文件夾中必須有__init__.py文件,該文件可以為空,但必須存在該文件。

      2、不能作為頂層模塊來執(zhí)行該文件夾中的py文件(即不能作為主函數(shù)的入口)。

      補(bǔ)充:在"from YY import XX"這樣的代碼中,無論是XX還是YY,只要被python解釋器視作package,就會(huì)首先調(diào)用該package的__init__.py文件。如果都是package,則調(diào)用順序是YY,XX。

      另外,練習(xí)中“from . import XXX”和“from .. import XXX”中的'.'和'..',可以等同于linux里的shell中'.'和'..'的作用,表示當(dāng)前工作目錄的package和上一級的package。

      舉個(gè)例子:

      目錄樹

       testIm/
        --__init__.py
        --main.py : from Tom import tom
        --Tom/
          --__init__.py : print("I'm Tom's __init__!")
          --tom.py : from . import tomBrother, from .. import kate,print("I'm Tom!")
          --tomBrother.py print(I'm Tom's Brother!)
        --Kate/
          --__init__.py : print("I'm Kate's __init__!")
          --kate.py

      運(yùn)行文件:main.py

      結(jié)果

      I'm Tom's __init__!
      I'm Tom's Brother!
      Traceback (most recent call last):
      File "D:\PythonLearning\TestIm\main.py", line 3, in from Tom import tom
      File "D:\PythonLearning\TestIm\Kate\kate.py", line 4, in from .. import kate
      ValueError: attempted relative import beyond top-level package>>>

      可以看到from . import tomBrother順利執(zhí)行,首先執(zhí)行了Tom文件夾下的__init__.py文件,后來執(zhí)行了tomBrother.py文件,但是當(dāng)執(zhí)行到“from .. import kate”時(shí)報(bào)錯(cuò),這是因?yàn)槲覀兪窃赥estIm文件夾下把main.py文件作為主函數(shù)的入口執(zhí)行的,因此盡管TestIm文件夾中有__init__.py文件,但是該文件夾不能被python解釋器視作package,即Tom package不存在上層packge,自然會(huì)報(bào)錯(cuò),相對導(dǎo)入時(shí)超出了最高層級的package。

      修改方法:

      目錄樹

      test/
        --main.py : from testIm.Tom import tom
        --testIm/
          --__init__.py
          --Tom/
            --__init__.py : print("I'm Tom's __init__!")
            --tom.py : from . import tomBrother, from .. import Kate,print("I'm Tom!")
            --tomBrother.py print(I'm Tom's Brother!)
          --Kate/
          --__init__.py : print("I'm Kate's __init__!")
          --kate.py

      運(yùn)行文件:main.py
      結(jié)果

      I'm top's __init__!
      I'm Tom's __init__!
      I'm Tom's Brother!!
      I'm Kate's __init__!
      I'm Tom!

      即主函數(shù)入口不在TestIm中,則TestIm和其同樣包含__init__.py文件的子文件夾都被python解釋器視作package,形成相應(yīng)的嵌套關(guān)系。可以正常使用from . import XXX和from .. import XXX。

      關(guān)于解決python無法使用import語句的問題就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


      當(dāng)前文章:解決python無法使用import語句的問題
      本文來源:http://ef60e0e.cn/article/gsjijh.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        乐山市| 上犹县| 广饶县| 茶陵县| 漯河市| 神木县| 潞西市| 永平县| 肇庆市| 泸西县| 家居| 襄樊市| 龙陵县| 叶城县| 天水市| 河南省| 胶州市| 聂荣县| 德清县| 尖扎县| 万年县| 双城市| 凉城县| 呼图壁县| 怀宁县| 宜丰县| 沙坪坝区| 治多县| 东乡县| 册亨县| 新蔡县| 肥乡县| 西平县| 互助| 武义县| 调兵山市| 桦川县| 广州市| 隆安县| 阳信县| 昆山市|