2017-01-26 27 views
-3

我用Python的sys.path中包含指向一個不存在的文件

>>> import sys 
>>> print(sys.path) 

的條目,我得到這個:

['', 'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python3‌​6-32\\python36.zip', 
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python3‌​6-32\\DLLs', 
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python3‌​6-32\\lib', 
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python3‌​6-32', 
'C:\\Users\\HowLo\\AppData\\Local\\Programs\\Python\\Python3‌​6-32\\lib\\site-pack‌​ages'] 

我很困惑,爲什麼這是在那裏:

r'C:\Users\HowLo\AppData\Local\Programs\Python\Python36-32\python36.zip' 

當我嘗試在文件資源管理器中將其拉出時,什麼也沒有。

+2

你應該沒有那麼做。 'sys.path'返回一個字符串列表,而不是一個字符串 – theonlygusti

+0

它是一個列表,['','C:\\ Users \\ HowLo \\ AppData \\ Local \\ Programs \\ Python \\ Python36- 32 \\ python36。zip','C:\\ Users \\ HowLo \\ AppData \\ Local \\ Programs \\ Python \\ Python36-32 \\ DLLs','C:\\ Users \\ HowLo \\ AppData \\ Local \ \ Programs \\ Python \\ Python36-32 \\ lib','C:\\ Users \\ HowLo \\ AppData \\ Local \\ Programs \\ Python \\ Python36-32','C:\\ Users \ \ HowLo \\ AppData \\ Local \\ Programs \\ Python \\ Python36-32 \\ lib \\ site-packages'] –

+0

抱歉,只是試圖縮短它,而不是試圖進一步混淆 –

回答

0

sys路徑可以附加任何你選擇的路徑。畢竟只是一個清單。

它用於搜索不在當前文件夾中的模塊。更多關於docs

指定模塊搜索路徑的字符串列表。從環境變量PYTHONPATH初始化,加上依賴於安裝的默認值。

在程序啓動時初始化,此列表中的第一項path [0]是包含用於調用Python解釋器的腳本的目錄。如果腳本目錄不可用(例如,如果解釋器是交互式調用的,或者腳本是從標準輸入讀取的),則path [0]是空字符串,它指示Python首先搜索當前目錄中的模塊。請注意,由於PYTHONPATH而插入的條目之前插入了腳本目錄。

程序可以根據自己的目的自由修改此列表。只有字符串和字節應該添加到sys.path;導入時忽略所有其他數據類型。

1

sys.path存儲字符串列表,每個字符串(如您所知)是計算機上位置的路徑。

的Python看起來在這些地方找到你的程序可以使用(當你做import sys蟒蛇是從sys.path的位置之一獲得sys模塊)

路徑來.zip文件只是一樣有效路徑模塊文件夾,python會嘗試解壓任何存檔文件。


現在你知道什麼是sys.path,大家可以看一下貴「的問題。」

你說過C:\Users\HowLo\AppData\Local\Programs\Python\Python36-32\python36.zip不存在。

所有這一切意味着python不會從那裏加載任何模塊。

它確實沒有任何(有意義的)影響。

相關問題