我正在尝试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')
name"xyz.1.html"
时,找不到该字符串。 index
在这种情况下会引发错误。如果您不想要这个,您可以使用该find
方法(如果未找到子字符串,则返回 -1),或者您可以捕获异常。
你可以使用python的生成器
print [name for name in glob.glob('*html') if name.endswith(".0.html")]