我正在爲我的電腦做一個簡單的python搜索程序,我想知道如何讓它掃描整個C驅動器來搜索文件,而不是文件在與目標文件相同的文件夾?這是我迄今爲止所擁有的。如何使python搜索整個硬盤
import os
print('What song would you like to listen to?')
choice = input().title()
os.startfile(choice + '.mp3')
我正在爲我的電腦做一個簡單的python搜索程序,我想知道如何讓它掃描整個C驅動器來搜索文件,而不是文件在與目標文件相同的文件夾?這是我迄今爲止所擁有的。如何使python搜索整個硬盤
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
,你只要繼續循環,直到您看到file3
在filenames
(the in
operator在此適當)。一旦你看到它,文件的完整路徑是os.path.join(path, 'file3')
,你應該可以用os.startfile
打開。
使用os模塊中可用的文件和目錄操作。訪問Python文檔的以下部分供參考:
https://docs.python.org/2/library/os.html#os-file-dir
請注意,您不能使用這些方法文件中提取元數據,所以你必須依賴於球員做到這一點。
乾杯,
- =卡梅倫
我懷疑你要掃描整個C盤,反正。因爲那是所有系統目錄的地方。你可能想限制它到你的用戶目錄。 – Keith