前提・実現したいこと
(3).csv や (10).csvなどのcsvファイルを正規表現で指定して取り出したいです。
発生している問題・エラーメッセージ
上手く取り出せずリストが空になります。
該当のソースコード
Python 3.7.3
print([p for p in glob.glob('./temp/*.csv', recursive=True)
if re.search('(\d+).csv', p)])
試したこと
"()"をエスケープしたり、ネットでググりましたがよくわかりません。どうぞよろしくお願いします。
その「ソースコード」は明らかに文法的に不完全ですね。
正規表現以前の段階でうまくいくはずがないので、まずはそこを見直してください。
> 文法的に不完全ですね。
私も一瞬、p for p の時点で「あれ?」と思ったのですが、大丈夫なようです。
C>type t1.py
import glob
import re
print([p for p in glob.glob('./temp/*.csv', recursive=True)
if re.search('\(\d+\).csv', p)])
C>python -m py_compile t1.py
コンパイル、文法チェックにも引っ掛かりませんでした。
>大丈夫なようです。
そのようですね…私の試したpythonのバージョンが古かったのが敗因のようです。 質問者様失礼しました。
回答1件
あなたの回答
tips
プレビュー