簡體   English   中英

使用oswalk + fnmatch輸出*准確的Python 2文件的絕對路徑

[英]Print out *accurate* absolute path to files in Python 2 with oswalk + fnmatch

我的任務是找到一種在Windows和Linux中使用Python 2在整個硬盤驅動器中搜索任何給定文件的方法。 我很高興能拼​​湊各種文章來制定解決方案,只是意識到Python輸出的路徑不是很正確。 這是我在Linux上的結果: 在此處輸入圖片說明

除非從for循環中查詢/home/pi目錄3次,否則我應該不會看到列出的確切/home/pi/chromium-browser 3次。 我假設其中有兩個是目錄,其中一個是symlink / executable。 但是,文件路徑[不正確]全部相同。

這是Windows上的相同代碼:

在此處輸入圖片說明

問題是,這不是 OS HW 2.docx所在的位置。 相反,它實際上位於C:\\Users\\Wade\\Dropbox\\School\\Fall 2018\\IT344\\HW2\\OS HW 2.docx ,如以下屏幕快照所示: 在此處輸入圖片說明 正如Python shell似乎表明的那樣, C:\\Users\\Wade的根目錄中沒有 OS HW 2.docx另一個實例。

我的代碼哪里出問題了? 有比os.path.abspath()更准確的替代方法嗎?

os.walk返回的元組中的files列表僅包含文件名,而不包含路徑名,因此在調用os.path.abspath之前,應將其與路徑名結合起來:

print os.path.abspath(os.path.join(root, file))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM