使用oswalk+fnmatch打印Python 2中文件的*精确*绝对路径

2024-10-16 22:32:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是找到一种方法,在Windows和Linux中使用python2在整个硬盘上搜索任何给定的文件。我很兴奋地拼凑了各种帖子来编造一个解决方案,结果发现Python输出的路径不太正确。以下是我在Linux上的结果: enter image description here

除非/home/pi目录从for循环中被查询了3次,否则我应该不会看到确切的/home/pi/chromium-browser被列了3次。我假设其中有两个是目录,其中一个是symlink/可执行文件。但是,文件路径[错误地]完全相同

以下是Windows上的相同代码:

enter image description here

问题是,那不是OS HW 2.docx所在的地方。相反,它实际上位于C:\Users\Wade\Dropbox\School\Fall 2018\IT344\HW2\OS HW 2.docx,如下面的屏幕截图所示: enter image description hereC:\Users\Wade的根目录中没有OS HW 2.docx的另一个实例,正如pythonshell似乎指出的那样

我的代码哪里出错了?有没有比os.path.abspath()更准确的替代方法


Tags: 文件方法代码路径目录homeoslinux
1条回答
网友
1楼 · 发布于 2024-10-16 22:32:42

os.walk返回的元组中的files列表只包含没有路径名的文件名,因此在调用os.path.abspath之前,应该将其与路径名连接起来:

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

相关问题 更多 >