pythonimport自己
㈠ 怎麼從python引入自己的模塊
1.如果導入的模塊和主程序在同個目錄下,直接import就行了
2.如果導入的模塊是在主程序所在目錄的子目錄下,可以在子目錄中增加一個空白的__init__.py文件,該文件使得python解釋器將子目錄整個也當成一個模塊,然後直接通過「import 子目錄.模塊」導入即可。
3.如果導入的模塊是在主程序所在目錄的父目錄下,則要通過修改path來解決,有兩種方法:
(1)通過」import sys,sys.path.append('父目錄的路徑')「來改變,這種方法屬於一次性的,只對當前的python解釋器進程有效,關掉python重啟後就失效了。
(2)直接修改環境變數:在windows中是 「 set 變數=『路徑』 」 例如:set PYTHONPATH=『C:\test\...』 查看是否設置成功用echo %PYTHONPATH%,而且進到python解釋器中查看sys.path,會發現已經有了新增加的路徑了。這種方式是永久的,一次設置以後一直都有效。在linux中是 "export 變數=『路徑』 「,查看是" echo $變數 "
通過修改path是通用的方法,因為python解釋器就是通過sys.path去一個地方一個地方的尋找模塊的。
㈡ python怎樣導入自己寫的包
python導入自己寫的包的方法:
1、導入同級目錄下的文件可以用「import 包名」導入
2、導入子目錄文件可以用「from 包名 import 文件名」導入
更多Python知識,請關註:Python自學網!!
㈢ python怎麼導入自己寫的包
包(packages)其實也是模塊,其類型Type也是mole。通常引用自定義模塊時有兩種方法:
1)將兩個文件放在同一目錄下。
2)在sys.path下添加要引用的py文件的路徑。然後import。
這樣的做法,對於少數文件是可行的,但如果程序數目很多,層級很復雜時就比較麻煩了。此時用package就能將多個py文件組織起來,類似於第三方包一樣的引用。要方便很多。
package的層次結構與程序所在目錄的層次結構相同,且必須包含一個__init__.py的文件。__init__.py可以為空,只要它存在就表明此目錄被作為一個package處理。
package1/
__init__.py
subPack1/
__init__.py
mole_11.py
mole_12.py
mole_13.py
subPack2/
__init__.py
mole_21.py
mole_22.py
……
__init__.py可以為空,只要它存在,就表明此目錄應被作為一個package處理。當然,__init__.py中也可以設置相應的內容。
好了,現在我們在mole_11.py中定義一個函數:
def funA():
print "funcA in mole_11"
return
一.引用模塊
在頂層目錄(也就是package1所在的目錄,當然也參考上面的介紹,將package1放在解釋器能夠搜索到的地方)運行python:
>>>from package1.subPack1.mole_11 import funcA
>>>funcA()
funcA in mole_11
這樣,我們就按照package的層次關系,正確調用了mole_11中的函數。
二.使用通配符*,導入某個mole中的所有元素
答案就在__init__.py中。我們在subPack1的__init__.py文件中寫
__all__ = ['mole_13', 'mole_12']
然後進入python
>>>from package1.subPack1 import *
>>>mole_11.funcA()
Traceback (most recent call last):
File "", line 1, in
ImportError: No mole named mole_11
也就是說,以*導入時,package內的mole是受__init__.py限制的。
三.在package內部互相調用。
1.如果希望調用同一個package中的mole,則直接import即可。也就是說,在mole_12.py中,可以直接使用
import mole_11
2.如果不在同一個package中,例如我們希望在mole_21.py中調用mole_11.py中的FuncA,則應該這樣:
from mole_11包名.mole_11 import funcA
四.Python如何找到我們定義的mole?
在標准包sys中path屬性記錄了Python的包路徑。
import sys
print(sys.path)
通常我們可以將mole的包路徑放到環境變數PYTHONPATH中,該環境變數會自動添加到sys.path屬性.
另一種方便的方法是編程中直接指定我們的mole路徑到sys.path 中。
常用的話也可以放在python27\lib\site-packages文件夾下。