2017-04-12 22 views
0

私は多くのファイルxxxxxxAB123、xxxxAB124、xxxxAB125、xxxxAB126を持っています...これらのファイルをファイル名に基づいてそれぞれのフォルダに移動する必要があります。例えば、xxxxxAB123ファイルはAB123フォルダxxxxAB124はAB124というフォルダに移動しなければなりません。どうしてこれをPythonでどうやって実現できますか?Python - ファイル名とフォルダ名の比較

+2

はStackOverflowのへようこそ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [トピックについて](http://stackoverflow.com/help/on-topic)と[How to ask](http://stackoverflow.com/help/how-to-ask)をここで適用してください。 StackOverflowは、コーディングまたはチュートリアルサービスではありません。 – AChampion

答えて

0

すべてのファイル名が同じパターン(たとえば、正面にあるものがAB ###で終わっているもの)の場合、後者の部分を分割してディレクトリを作成し、そのファイルをディレクトリに移動することができます。

は、以下のコードを試してみてください。

import os 
import shutil 

directory = "path/to/files" 
for file in os.listdir(directory): 
    dirName = file[-5:] # retrieves the last 5 characters in the filename. 
    try: 
     os.mkdir(os.path.join(directory, dirName)) 
    except OSError: 
     pass 
    shutil.move(os.path.join(directory, file), os.path.join(directory, dirName)) 
+0

フォルダはすでに存在しています。新しいものを作る必要はなく、どのように変更するのですか? – Jeff

+0

@Jeff既にフォルダがある場合は、ディレクトリを作成するtry-exceptシーケンスを削除できます。 – Squizz

関連する問題