xyz.0.html
コンソールにファイル名''を出力しようとしています。エラーを吐き出している"substring not found"
ディレクトリ内のファイル:
xyz.0.html
xyz.1.html
xyz.2.html
Python
for name in glob.glob('*html'):
if name.index('.0.html'):
print name
使ってみませんstr.endswith()
か?
>>> "xyz.0.html".endswith(".0.html")
True
試す
if ".0.html" in name:
print name
また
if name.endswith(".0.html"):
print name
あなたはおそらくしたい
if '.0.html' in name:
または、
if name.endswith('.0.html'):
メソッドがサブストリングが見つかったストリングのインデックスを返すため(または例外を発生させるためFalse
)、サブストリングがストリング内にない場合(および、サブストリングがストリングの先頭にあるかどうかを評価します)、バージョンはエラーを発生させます。index
サブストリングが見つからなかった場合)。
エラーはまさにそれが言っていることです。name.index('0.html')
名前を呼び出すと"xyz.1.html"
、文字列が見つかりません。 index
この場合、エラーが発生します。これが不要な場合は、代わりにメソッドを使用するfind
か(サブ文字列が見つからない場合は-1を返します)、例外をキャッチできます。
Pythonのジェネレーターを使用できます
print [name for name in glob.glob('*html') if name.endswith(".0.html")]