「a1.txt」、「a2.txt」、「a3.txt」、「a4.txt」、「a5.txt」などの名前のファイルがあります。次に、「a1_1998」、「a2_1999」、「a3_2000」、「a4_2001」、「a5_2002」などの名前のフォルダーがあります。
たとえば、ファイル「a1.txt」とフォルダ「a1_1998」を接続したいと思います。(これを行うには定期的な表現が必要になると思います)。次に、shutilを使用して、ファイル「a1.txt」をフォルダ「a1_1998」に移動し、ファイル「a2.txt」をフォルダ「a2_1999」に移動します。
私はこのように始めましたが、定期的な表現についての理解が不足しているために行き詰まっています。
import re
##list files and folders
r = re.compile('^a(?P')
m = r.match('a')
m.group('id')
##
##Move files to folders
以下の答えを少し変更して、shutilを使用してファイルを移動し、トリックを実行しました。
import shutil
import os
import glob
files = glob.glob(r'C:\Wam\*.txt')
for file in files:
# this will remove the .txt extension and keep the "aN"
first_part = file[7:-4]
# find the matching directory
dir = glob.glob(r'C:\Wam\%s_*/' % first_part)[0]
shutil.move(file, dir)