2

Pythonでファイル名に正しい命名規則があるかどうかをテストするにはどうすればよいですか?_vファイル名を文字列、数字、そしての順に終わらせたいとしましょう.txt。どうすればいいですか?私のアイデアを表現するサンプルコードがいくつかありますが、実際には機能しません。

fileName = 'name_v011.txt'
def naming_convention(fileName):
    convention="_v%d.txt"
    if fileName.endswith(convention) == True:
        print "good"
    return
naming_convention(fileName)
4

1 に答える 1

4

rePythonのモジュールを使用して正規表現を使用できます。

import re

if re.match(r'^.*_v\d+\.txt$', filename):
    pass  # valid
else:
    pass  # invalid

正規表現を分けてみましょう:

  • ^文字列の先頭に一致します
  • .*何にでもマッチ
  • _v_v文字通り一致します
  • \d+1つ以上の数字に一致します
  • \.txt.txt文字通り一致します
  • $文字列の終わりに一致します
于 2012-12-02T01:18:43.930 に答える