python - 如何让python搜索整个硬盘

标签 python search

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


import os

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

最佳答案

如果你有一个根目录来搜索,你可以使用 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,您只需继续循环直到在 filenames 中看到 file3(the in operator 会在这里是合适的)。一旦你看到它,文件的完整路径是 os.path.join(path, 'file3'),你应该可以用 os.startfile 打开它.

关于python - 如何让python搜索整个硬盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27629469/

相关文章:

python - 如何将 oracle DB 与我的 python 脚本连接?

javascript - 在多级对象中查找键

android - 如何允许在标准搜索对话框中提交空白搜索

Python 在 raw_input() 之前刷新输入

python 打开位于包内的配置文件

python - Google App Engine 中的服务器发送事件 (SSE)

java - 在 appengine 数据存储区上存储和搜索键和值对

python - 如何在 Python 中将列表字典格式化为表格?

javascript - 如何在 HTML 中搜索多个表格?

bash - 用于搜索必须包含两个特定关键字的文本文件的 Unix 脚本