2017-04-11 13 views
-1

ディクショナリ内のすべてのUSBファイルを、それらのパスとファイル名で索引を付けることができます。私はすべてのネストされたフォルダを分析するために再帰を使わなければならないことを知っています。私はこれらのファイルをリストする方法と、USBドライブにアクセスする方法については分かりません。私は周りを見回し、USBに書き込む方法を見つけましたが、その中のすべてのファイルをリストする方法は見つかりませんでした。前もって感謝します。Pythonを使用してUSBドライブ内のすべてのファイルをインデックスする方法はありますか?

+0

でこのスクリプトを使用できますか?サブプロセスモジュールを使用して、USBドライブ自体から 'find .'を実行させ、このリストをファイルに書き込むことができます。詳細をご希望の場合はお知らせください。 – JacobIRR

+0

はい、私はそのオプションを持っています。あなたはモジュールを使ってそのことを説明する答えを書くことができますか? – Mikael

+0

Pythonを使いたい場合は、[glob package](https://docs.python.org/3/library/glob.html)を試してみてください。これは、UNIXスタイルのglob表現を可能にし、繰り返し可能なものを返すことができます。 – 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() 

今、例えばこれを実行するために、 in unix/mac:

$ python nameOfThisPythonScript.py > somefile.txt 

次に、somefile.txtに記載されているUSBの内容が表示されます。あなたがファイルを見るためにPythonスクリプトからコマンドを実行するオプションがあります

+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() 
関連する問題