2015-06-04 56 views
3

爲什麼下一個代碼不工作?我找不到爲什麼。python 3.4.2 urlib無屬性'pathname2url'

import mimetypes 
import glob, urllib 

for file in glob.glob("C:\\Users\\joey\\Desktop\\school\\ICOMMH"): 
    url = urllib.pathname2url(file) 
    print(file, mimetypes.guess_type(url)) 

該錯誤消息我得到的是:

AttributeError: 'module' object has no attribute 'pathname2url' 

我想顯示一個目錄下的所有文件typs。這是一個好方法嗎?或者,還有更好的方法。我不想使用模塊魔術。

回答

8

此函數的位置已在Python 3中更改。現在是urllib.request.pathname2url

+0

嘿謝謝你的幫助。馬比一個愚蠢的問題,但我'url = urllib.pathname2url(文件)'替換爲:url = urllib.request.pathname2url(文件)但它stil顯示一條錯誤消息。 [AttributeError:'module'object has no attribute'request'] – joey

+0

@joey您需要'導入urllib.request',在這種情況下,您的註釋中的代碼將按原樣運行,或者從'urllib'執行類似操作。請求導入路徑名2url',在這種情況下,您應該將您的代碼更改爲'url = pathname2url(file)'。此外,雖然使用'file'作爲變量名在技術上是可行的,['file'](https://docs.python.org/2/library/functions.html#file)是Python 2中的一個內置函數,所以如果你曾經使用過該版本的語言,那麼你必須小心掩飾它。 – MattDMo

+0

非常感謝幫助我:)! – joey