[英]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.