<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 1. Python中的 __all__和__path__ 解析 Python以目錄來組織模塊, 就是所謂的包. 用包的一大好處: 可以解決名字空間沖突的問題, 即文件重名問題. 下面主要說3點: 1. 如何使一個目錄變成包,如何import 目錄下放一個__init__.py文件(內容可以為空), import包內模塊的時候使用"."分割, 比如import Apackage.Amodule 2. __init__.py的__all__變量 __all__指定的是指此包被import * 的時候, 哪些模塊會被import進來 3. __init__.py的__path__變量 __path__指定了包的搜索路徑 下面是以舉例的方法來介紹: ### 1.1 如何使一個目錄變成包,如何import 在目錄下, 放一個__init__.py文件, 這該目錄會被認為包. __init__.py文件, 可以為空. 當一個包被import的時候, 會首先加載它的__init__.py文件(執行這個__init__.py文件), 一般可以在__init__.py文件中進行初始化. 需要用到包中模塊,import的時候使用"."分割. 比如: ~~~ Sound/ 包 |-- Effects # Sound的一個子包 | |-- __init__.py | |-- errors.py | `-- iobuffer.py |-- Filters # Sound的一個子包 | |-- __init__.py | |-- dolby.py | |-- equalizer.py | |-- karaoke.py | `-- vocoder.py |-- Utils # Sound的一個子包 | |-- __init__.py | |-- echo.py | |-- reverse.py | `-- surround.py `-- __init__.py 文件夾下放一個__init__.py文件, 則此文件夾為包 ~~~ 需要用到Sound/Utils/echo.py, 則: importSound.Utils.echo2. __init__.py的__all__變量 __all__: __init__.py的常用變量__all__指定的是指此包被import * 的時候, 哪些模塊會被import進來. 舉例: Sound/__init__.py是一個空文件, 則: ~~~ >>>from Sound import * >>>dir() ['__builtins__','__doc__','__name__'] ~~~ 在Sound/__init__.py中, 寫一行: __all__=['Effects','Filters','Utils'] 則: >>>fromSoundimport* >>>dir() ['Effects','Filters','Utils','__builtins__','__doc__','__name__'] ### 1.2 __init__.py的__path__變量 `__path__`: `__init__.py`的常用變量__path__, 默認情況下只有一個元素, 就是當前包的路徑, 修改__path__, 可以修改此包內的搜索路徑. 舉例: 在Utils下增加2個目錄Linux和Windows, 并各有一個echo.py文件, 目錄如下 ~~~ Sound/Utils/ |-- Linux 目錄下沒有__init__.py文件, 不是包, 只是一個普通目錄 | `-- echo.py |-- Windows 目錄下沒有__init__.py文件, 不是包, 只是一個普通目錄 | `-- echo.py |-- __init__.py |-- echo.py |-- reverse.py `-- surround.py ~~~ 三個echo.py的文件內容如下: ~~~ ltt@hz171-14:~/tmp$cat Sound/Utils/echo.py print"I'm Sound.Utils.echo" ltt@hz171-14:~/tmp$cat Sound/Utils/Windows/echo.py print"I'm Windows.echo" ltt@hz171-14:~/tmp$cat Sound/Utils/Linux/echo.py print"I'm Linux.echo" ~~~ Sound/Utils/__init__.py是空文件,則結果如下: ~~~ >>>import Sound.Utils.echo I'm Sound.Utils.echo ~~~ 把`Sound/Utils/__init__.py`改成: ~~~ import sys import os print"Sound.Utils.__init__.__path__ before change:",__path__ dirname=__path__[0] if sys.platform[0:5]=='linux': __path__.insert(0,os.path.join(dirname,'Linux')) else: __path__.insert(0,os.path.join(dirname,'Windows')) print"Sound.Utils.__init__.__path__ AFTER change:",__path__ ~~~ 則結果如下: ~~~ >>>import Sound.Utils.echo Sound.Utils.__init__.__path__beforechange:['Sound/Utils'] Sound.Utils.__init__.__path__AFTERchange:['Sound/Utils/Linux','Sound/Utils'] I'm Linux.echo ~~~ 包和目錄的區別是什么呢?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看