如何让python搜索整个硬盘

时间:2014-12-23 23:24:47

标签: python search

我正在为我的计算机制作一个简单的python搜索程序,我想知道如何让它扫描整个C盘来搜索文件,而不是文件与目标位于同一文件夹中文件?这是我到目前为止所做的。


import os

print('What song would you like to listen to?')
choice = input().title()
os.startfile(choice + '.mp3')

2 个答案:

答案 0 :(得分:6)

如果您要在其中搜索根目录,则可以使用os.walk。它将产生三倍的目录路径,该目录中的目录以及该目录中的文件名。例如,如果我们有这个目录结构:

root
├── dir1
│   └── file1
├── dir2
│   └── subdir
│       ├── file1
│       ├── file2
│       └── file3
├── file1
└── file2

然后这段代码:

for path, dirnames, filenames in os.walk('root'):
    print((path, dirnames, filenames))

将打印:

('root', ['dir1', 'dir2'], ['file1', 'file2'])
('root/dir1', [], ['file1'])
('root/dir2', ['subdir'], [])
('root/dir2/subdir', [], ['file1', 'file2', 'file3'])

因此,如果您正在寻找file3,那么您只需继续循环,直到file3filenamesos.path.join(path, 'file3')the in operator适合此处)。看到后,该文件的完整路径为os.startfile,您应该可以使用{{1}}打开该文件。

答案 1 :(得分:0)

使用 os 模块中提供的文件和目录操作。请访问以下Python文档部分以供参考:

https://docs.python.org/2/library/os.html#os-file-dir

请注意,您无法使用这些方法从文件中提取元数据,因此您必须依赖播放器来执行此操作。

干杯,

- =卡梅伦