導航:首頁 > 編程語言 > python導入模塊

python導入模塊

發布時間:2022-01-16 23:30:56

① 詳解python中import方法引入模塊

在python用import或者from...import或者from...import...as...來導入相應的模塊,作用和使用方法與C語言的include頭文件類似。其實就是引入某些成熟的函數庫和成熟的方法,避免重復造輪子,提高開發速度。
python的import方法可以引入系統的模塊,也可以引入我們自己寫好的共用模塊,這點和php非常相似,但是它們的具體細節還不是很一樣。因為php是在引入的時候指明引入文件的具體路徑,而python中不能夠寫文件路徑進行引入。
下面總結一下import的幾種情況:
python包含子目錄中的模塊方法比較簡單,關鍵是能夠在sys.path裡面找到通向模塊文件的路徑。
下面將具體介紹幾種常用情況:
(1)主程序與模塊程序在同一目錄下:
如下面程序結構:
`-- src
|-- mod1.py
`-- test1.py
若在程序test1.py中導入模塊mod1, 則直接使用import mod1或from mod1 import *;
(2)主程序所在目錄是模塊所在目錄的父(或祖輩)目錄
如下面程序結構:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py
若在程序test1.py中導入模塊mod2, 需要在mod2文件夾中建立空文件__init__.py文件(也可以在該文件中自定義輸出模塊介面); 然後使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序導入上層目錄中模塊或其他目錄(平級)下的模塊
如下面程序結構:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py
若在程序test2.py中導入模塊mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立該文件。然後調用方式如下:
下面程序執行方式均在程序文件所在目錄下執行,如test2.py是在cd sub;之後執行python test2.py
而test1.py是在cd src;之後執行python test1.py; 不保證在src目錄下執行python sub/test2.py成功。
import sys
sys.path.append("..")
import mod1
import mod2.mod2

② python 導入模塊問題

導入模塊是會執行一遍的
如果不想在導入模塊時執行某部分代碼,
需要將那部分代碼到
if __name__=='__main__': 裡面,
那部分代碼只會在當他是作為主文件運行時才會跑

③ 有關Python導入模塊的問題

我真的是。。。小白是真的可憐,連續回答了四個問題了。。。
你先查一下網路行嗎,你看樓下在回答啥?我直接懵了。
要麼把你要導入的文件放在你這個程序的下方後直接import,要麼加相對地址。

④ 初學python,有關導入模塊的問題

怪了,我運行出來的結果是11:

⑤ Python導入模塊問題


這個問題涉及到包和模塊管理。包名和模塊名一般是小寫。你的文件是下面的結構,需要創建空文件 b/__init__.py,將b目錄變成package。
a/a.py

fromb.cimportindex
index()


b/c.py

defindex():
print("hello")


b/__init__.py
a/a.py 裡面有兩種引用方式,相對引用和絕對引用:
# 如果a.py是 library,兩種引用方式都可以

from..b.cimportindex


# 如果a.py是 executable,必須使用絕對引用

fromb.cimportindex


如果使用絕對引用,需要確保b所在目錄在PYTHONPATH (sys.path)裡面,比如可以這樣執行:

envPYTHONPATH=.pythona/a.py



⑥ 如何導入python中的模塊

定義模塊,只要使用文本編輯器,把一些python代碼輸入到文本中,然後以.py為後綴名進行保存,任何此類文件都會被認為是python模塊。
比如說,下面的代碼輸入到一個文件中,就可以看作是一個模塊:
def printme(var): print varif __name__ == '__main__': printme(1)

假設說輸入到a.py中,那麼import a就可以把這個模塊導入。
然後可執行a.printme(3),屏幕即可列印出3:
>>> a.printme(3)3>>>

一個模塊頂層定義的變數,會自動變成模塊的屬性。例如:
data=[1,2,3]def printme(var): print varif __name__ == '__main__': printme(1)

data變數就是模塊的一個屬性。其實printme也是一個屬性,只不過是一個函數罷了。
引入模塊示例如下:(假定此時data=[1,2,3]未定義)

>>> import a>>> a.data Traceback (most recent call last): File "<pyshell#1>", line 1, in <mole> a.dataAttributeError: 'mole' object has no attribute 'data'>>> reload(a)<mole 'a' from 'C:/py\a.pyc'>>>> a.data Traceback (most recent call last): File "<pyshell#3>", line 1, in <mole> a.dataAttributeError: 'mole' object has no attribute 'data'>>>

從上述提示可以看出data屬性未定義,此時再在a.py文件中定義data=[1,2,3],重新載入a模塊,並輸出data屬性:
>>> reload(a)<mole 'a' from 'C:/py\a.py'>>>> a.data[1, 2, 3]>>>

這里的reload函數可以重新載入一個模塊。如果在模塊代碼中更改了,那麼需要重新載入。
上面a.data,就是訪問模塊中的屬性。
上面的例子是導入一個文件作為一個模塊。
其實python的模塊導入還有更豐富的內容。
除了模塊名之外,python也可以導入指定目錄路徑。python代碼的目錄就稱為包。因此,這類導入就稱為包導入。事實上,包導入是把計算機上的目錄變成python的一個命名空間。而屬性就是目錄中包含的子目錄或者是模塊文件。
看下面例子:
在我的桌面上有一個aa文件夾,裡面有bb文件夾,bb裡面有a.py這個文件。
那麼在aa和bb文件夾中分別放置一個__init__.py,之後,在命令行中import aa.bb.a,就可以導入模塊a了。

⑦ python導入模塊問題

其實很簡單,這是命名空間的問題,每個模塊或者一個包就是一個命名空間,每個都相對獨立的,只有導入時才會有某種關系存在。
也就是說,如果你在connect.py文件里沒有導入time模塊,使用的話本來就會提示time沒有定義(因為你事先沒有導入嘛)。然後當程序運行時,會優先把模塊和定義的函數先走一遍存在緩存里(你可以理解為檢測一篇),然後再按照代碼順序由上而下運行。所以當程序優先運行模塊和定義的函數時,發現你的connect.py報錯,那麼後面與這個函數或者模塊相關的代碼都不會再繼續運行。

所以你在connect.py的文件里import time,而主py文件不需要導入time模塊就行。

⑧ 如何導入其他位置的python模塊

import sys
print sys.path

上面的代碼會給出所有可用的python路徑,你把.py文件放到這些路徑下面就可以在其他文件里導入它了。
另外一個特殊的路徑就是當前路徑,比如你在一個文件夾test下新建兩個.py文件,分別為123.py 和456.py ,那麼你可以在123.py寫:

1

import 456

就可以導入456.py了。

python的模塊都是.py文件,提示invaild syntax 是說語法錯誤。如果你用的是python3,那你的print就寫錯了。python2和3的print 區別如下。

1
2

print 'hello world' #python2
print('hello world') #python3

⑨ python怎麼導入同一包的模塊

一、何為模塊

1.一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的後綴。

2.模塊目的和函數,對象等一樣,是為了代碼的復用性而存在的。即一個py程序寫了很多功能,也可以被其他py程序調用。被調用後被作為模塊,此時會產生一個pyc的文件即為這個模塊的緩存文件,相當於編譯了模塊文件使該py模塊被調用的速度變快。一個大的項目一個人肯定是不行的,所以模塊也為程序員相互間的合作提供了便利。

二、模塊妙用

1.import

只需要在py程序開頭加上import 文件名(不能有.py後綴)。例如,模塊的文件名是span.py,那麼只需在自己的py程序加import span。

2. import可以在程序的任意位置調用,但一次調用後會駐留內存,下次再調用會直接調用內存中的模塊(python的優化)。

3.個模塊都是一個獨立的名稱空間,定義在這個模塊中的函數,把這個模塊的名稱空間當做全局名稱空間,這樣我們在編寫自己的模塊時,就不用擔心我們定義在自己模塊中全局變數會在被導入時,與使用者的全局變數沖突。

print('from the spam.py')

money=1000def read1(): print('spam->read1->money',1000)def read2(): print('spam->read2 calling read')
read1()def change(): global money
money=0

支持tab自動補全

閱讀全文

與python導入模塊相關的資料

熱點內容
矩陣計算java 瀏覽:230
如何把各銀行app整合 瀏覽:877
方舟生存進化手游版如何建伺服器 瀏覽:288
哪裡購買黃金app 瀏覽:661
中國聯通app優惠購功能在哪裡 瀏覽:227
dream伺服器密碼是什麼 瀏覽:222
程序員自救 瀏覽:486
cmd殺死進程命令 瀏覽:235
ipad激活伺服器地址 瀏覽:451
單片機開始直流電機壓降問題 瀏覽:17
伺服器地址失敗怎麼辦 瀏覽:146
安卓手機怎麼下載蘇聯游戲 瀏覽:130
主教的命令 瀏覽:805
php判斷變數為空 瀏覽:743
你演我猜安卓版本怎麼用 瀏覽:910
已夠app哪裡看 瀏覽:1007
程序員怎麼學會開車的技巧 瀏覽:785
網易郵箱如何刪除伺服器郵件 瀏覽:154
java多個泛型 瀏覽:276
安卓折扣號怎麼充值 瀏覽:604