import sys
from sys import argv
我讀了關於pydocs中的import語句的內容。它說它分兩步執行。 (1)找到一個模塊,並在必要時進行初始化; (2)在本地命名空間(發生導入語句的範圍)中定義一個或多個名稱。第一種形式(不含)爲list
中的每個標識符重複這些步驟。具有from的表單執行步驟(1)一次,然後重複執行步驟(2)。python中各種導入語句的區別
這裏我明白,在第一種情況下,sys
模塊將作爲第一步的一部分進行初始化,然後它將作爲第二步提供給本地命名空間。 但第二次進口形式會發生什麼? 將sys
模塊初始化爲第一步,功能sys
模塊(NO OTHER功能)可用於本地命名空間。 因爲我在使用第二種導入語句時無法調用sys
模塊的任何其他功能。所以只是想特別澄清一下。彷彿sys
模塊已經從import語句初始化,那麼我們應該可以使用sys
調用其他函數。但那不起作用。 ?
#import sys
from sys import argv
script, input = argv
print "This was the input entered by command line", input
print sys.path # this is not working giving error name sys is not defined.
我懷疑在從import語句sys
模塊是沒有得到initalized,只有argv
功能越來越初始化,但在這種情況下,從步驟有哪些呢執行步驟(1)一次平均pydocs情況下(注:我我在Python 2.7上工作)
@MartijnPieters:還有你剛纔提到導入模塊不浪費任何東西;該模塊總是被完全導入(進入sys.modules映射),所以你使用import sys或者從sys導入argv沒有任何優勢。還有其他的模塊會在那裏,那麼爲什麼我不能使用sys.path。那是我的問題 –