退屈なことはPythonにやらせようの9章で、米国日付を欧州日付に変更するプログラムを作成しようとしています。実行してもどのファイルも該当しないのですが、正規表現の定義に間違いがあるのでしょうか?ご確認お願いいたします。ちなみに、カレントディレクトリには2019-04-10_〇〇.pyなどのファイルを入れてあります。
Python
1#! python3 2# renameDates.py - 米国日付を欧州式に書き換える 3 4import shutil, os, re 5 6# TODO: 米国式日付のファイル名にマッチする正規表現を作る 7date_pattern = re.compile(r"""^(.*?) 8 ((0|1)?\d)- 9 ((0|1|2|3)?\d)- 10 ((19|20)\d\d) 11 (.*?)$ 12 """, re.VERBOSE) 13 14# TODO: カレントディレクトリの全ファイルをループ 15for amer_filename in os.listdir('C:\Users\s2160085.MAX-D4.000\Documents\Python Scripts'): 16 mo = date_pattern.search(amer_filename) 17 18# TODO: 日付のないファイルをスキップ 19 if mo == None: 20 continue 21 22# TODO: ファイル名を部分分解する 23 before_part = mo.group(1) 24 month_part = mo.group(2) 25 day_part = mo.group(4) 26 year_part = mo.group(6) 27 after_part = mo.group(8) 28 29# TODO: 欧州式の日付ファイル名を作る 30 euro_filename = before_part + day_part + '-' + month_part + '-' + year_part + after_part 31 32# TODO: ファイル名を変更する 33 print(' Renaming "{}" to "{}"...'. format( amer_filename, euro_filename)) 34 #shutil.move( amer_filename, euro_filename)
回答1件
あなたの回答
tips
プレビュー