2017-04-11 61 views
-1

我想索引一個字典中的所有USB文件的路徑和文件的名稱。我知道我將不得不使用遞歸來分析所有嵌套的文件夾。我只是不知道如何列出這些文件,並訪問USB驅動器。我環顧四周,發現如何寫入USB,但不知道如何列出所有文件。提前致謝。如何使用Python索引USB驅動器中的所有文件?

+0

你有從Python腳本執行命令來查看文件的選項?您可以使用子進程模塊,並讓它從USB驅動器本身運行'find .',然後將此列表寫入文件。如果你想了解細節,請告訴我。 – JacobIRR

+0

是的,我有這個選項。你能寫一個答案解釋如何使用模塊來做到這一點? – Mikael

+0

如果你想使用python,你也可以嘗試使用[glob package](https://docs.python.org/3/library/glob.html),它允許使用unix風格的glob表達式,並且可以返回一個iterable。 – Petergavinkin

回答

0

當然,你可以使用這樣一個腳本(在你自己的路徑填充到USB):

import subprocess 


def main(): 
    cmd = 'find /Path/To/Your/USB/Here' 
    p = subprocess.Popen(cmd, shell=True) 
    print p.communicate()[0] 


if __name__ == '__main__': 
    main() 

現在運行此,例如在unix/mac中:

$ python nameOfThisPythonScript.py > somefile.txt 

然後,您應該看到列在somefile.txt中的USB的內容。

+0

此刻我正在使用Windows機器,我無法測試它,但會將cmd更改爲'cmd ='touch file_list.txt && find/path/to/your/usb/here> file_list.txt '直接在代碼裏面做? – Mikael

+0

是的,你可以做到這一點。 – JacobIRR

0

你可以使用這個腳本您的USB路徑

import os 
f=open('path to the list file',"w") 
for root, dirs, files in os.walk('path to usb'): 
    for dir in dirs: 
     for file in files: 
      f.write(os.path.join(root, file) + '\n') 
f.close() 
相關問題