python 中如何引用頭文件

python 引入 導入 自定義模組, python 引入 導入 外部文件

python 引入 導入 自定義模組, python 引入  導入 外部文件

項目中想使用以前的程式碼,或者什麼樣的需求致使你需要導入外部的包

如果是web 下,比如說django ,那麼你新建一個app,把你需要導入的說用東東,都寫到這個app中,然後在setting中的app也配上基本就ok了

如果是本地程式碼,可以有幾種方式,

1、這種最簡單,也可能最不實用,將你的外部文件放到跟需要調用外部文件的文件同一個包下,同一目錄

         folder

          ——toinvoke.py

          ——tobeinvoded.py

          這樣在toinvoke.py  中引入

          import toveinvoked  或 from tobeinvoked import *

          即可

2、你的其他文件不是單個文件,或者不能如上所說放到同一目錄下,而是在不同目錄中,子目錄

         folder

          ——tobeinvodedA.py

          ——tobeinvodedB.py

          ——tobeinvodedC.py

          toinvoke.py

         這種情況,現在folder 下新建一個__init__.py 的空文件,此時的folder不再是一個普通的文件夾,而是一個包 package,現在像這樣

        folder  #文件夾 現在的性質為一個python包package 

         ——__init__.py

         ——tobeinvoded.py

         ——tobeinvodedA.py

         ——tobeinvodedB.py

         ——tobeinvodedC.py

         toinvoke.py

        這樣在toinvoke.py 中引入

        import sys

        sys.path.append(".")  #.表示當前目錄

        import folder.toveinvoked 或 from folder.tobeinvoked import *

        即可

 3、同理,如果是如下的情況,folderB中的模組要調用folderA中的模組,方法同上,有什麼改變,你已經知道了

     folderA 

      ——tobeinvoded.py

      ——tobeinvodedA.py

      ——tobeinvodedB.py

      ——tobeinvodedC.py

    folderB 

      ——–toinvoke.py

     這樣在toinvoke.py 中引入

     import sys

     sys.path.append("..") #..表示當前目錄的上級目錄

     import folder.toveinvoked 或 from folder.tobeinvoked import *

     即可

 4、將要被調用的程式碼拷貝到$PYTHONHOME$Libsite-packages 下面,這個就跟Eclipse插件安裝差不多

 5、在$PYTHONHOME$Libsite-packages 下面新建一個.pth文件,比如說是MyPackage.pth,裡面的內容是你的包的絕對路徑比如:E:/PythonPrj

      那麼,在E:/PythonPrj下的所有包都可以按照包所在的相對路徑引入,這個跟Eclipse插件安裝的link 方式差不多

 6、跟上面的差不多,也可以加個環境變數,這個就不多說了

 總結、看看Python的包搜索路徑

       Python會在以下路徑中搜索它想要尋找的模組:

       1. 程式所在的文件夾

       2. 標準庫的安裝路徑

       3. 作業系統環境變數PYTHONPATH所包含的路徑

我們剛剛做的都是在這三條的基礎上搞得