Python:搜索精确的filenam

2024-10-03 09:12:38 发布

您现在位置:Python中文网/ 问答频道 /正文

在我当前目录中搜索HTML时,如果名称包含任何子字符串,它将假定文件存在并继续操作,而不是说文件不存在。说我有档案”协议http.html“-在测试中以确保”协议.html抛出一个错误,它没有。它只是继续程序的操作。在

我想确保文件名完全匹配。以下是我所拥有的:

for file in glob.glob('*.html'):
        if protocolFile in file:
                with open(file) as f:
                        contents = f.read()
        else:
                print "Could not locate '" + protocolFile + ".html'"
                sys.exit(1)

我有什么想法或进一步的步骤来验证这一点吗?在


Tags: 文件字符串in程序名称http协议文件名
2条回答

我认为你的代码与:

if os.path.isfile(filename):
    with open(filename) as f:
        contents = f.read()
else:
    print 'Could not locate {0}'.format(filename)
    sys.exit(1)

in不是相等性检查,而是集合成员资格检查。查看here并向下滚动到项目符号列表后面,以讨论in。在

>>> 'foo' in 'foobar'
True
>>> 'foo' in 'foo'
True
>>> 'foo' in 'bar'
False

不是说在搜索一个文件时循环是一个好主意,但是如果你做了下面的事情,它会起作用的。在

^{pr2}$

所以,一般来说,采用维克多的方法。但请确保您也了解in是如何工作的。在

相关问题 更多 >