私は奇妙な行動、以下の顔を行いますPythonの文字列は変更さ
paths = [item for item in glob.glob('./01_data/**/**') if '.xlsx' in item]
私はファイルパスをループを実行します。
paths =['./01_data\\2017-04-12 yy\\data.xlsx', './01_data\\2017-05-01 dd\\data.xlsx', './01_data\\2016-11-18 xx\\data.xlsx', './01_data\\2017-10-11 dd\\data.xlsx']
私のデータファイルへのパスはによって生成されていますそれから日付を抽出したい:
# date measured
re_date = re.compile(r'\d{4}-\d{2}-\d{2}')
作業を何:
dates = []
for i in len(paths):
match = re_date.search(paths[i])
if match:
dates.append(match.group())
私はパスが変更され、\\がに変換され、列挙を使用する場合:と
for item, file in enumerate(paths):
print(file)
./01_data\2017-04-12 yy\data.xlsx
./01_data\2017-05-01 dd\data.xlsx
./01_data\2016-11-18 xx\data.xlsx
./01_data\2017-10-11 dd\data.xlsx
同じ動作:欠落しているので
for file in paths:
print(file)
./01_data\2017-04-12 yy\data.xlsx
./01_data\2017-05-01 dd\data.xlsx
./01_data\2016-11-18 xx\data.xlsx
./01_data\2017-10-11 dd\data.xlsx
正規表現は、これらの文字列では動作しません。 '\\'。リストの反復が '\\'を '\'に変更する理由は何ですか?コードを変更するのは大したことではありませんが、エラーの原因を見つけるまでにはかなり時間がかかりました。
なぜあなたはに投票しますこの質問を閉じる? Pythonの列挙関数とその文字列を変更する理由についての正当な質問です。 – Moritz
正規表現が一致しないコードは表示されていません。 –
あなたは正しいです、私はそれをチェックしたはずです。そのエラーはどこか別の場所で発生しました。私は閉会することにしました。 1 left – Moritz