繁体   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