【发布时间】:2011-09-24 21:16:20
【问题描述】:
所以我有一个 os.walk 代码
search = self.search.get_text()
top = '/home/bludiescript/tv-shows'
for dirpath, dirnames, filenames in os.walk(top):
for filename in filenames:
if fnmatch.fnmatch(filename, search)
print os.path.join([dirpath, filename])
在 python 文档上,它显示您可以将任何字符序列与 [seq] 模式匹配,但无论我如何尝试实现它都会给出如此错误或根本没有结果。
那么在搜索中匹配汽车序列的正确实现是什么,以便打印出匹配的文件或文件
我尝试过的实现
if fnmatch.fnmatch(filename, [search]) error i got was typeerror unhasable type : 'list'
if fnmatch.fnmatch[filename, search] error i got was typeerror fnmatch function is not subscriptable
if fnmatch.fnmatch([filename, search]) error typeerror fnmatch takes two arguments 1 given
if fnmatch.fnmatch([filename], search) error typeerror expected string or buffer
if fnmatch.fnmatch([search], filename) error typeerror expected string or buffer
if fnmatch.fnmatch(filename, search, [seq]) error nameerror global name seq not defined
if fnmatch.fnmatch(filename, '[search]')
没有错误,但没有产生任何结果
搜索值
你好,mkv,merry 1、2、3、4、5、6、7等……
【问题讨论】:
-
你用过什么样的模式?您看到的错误是什么?
-
我编辑了这个问题来回答你的问题
-
您能否向我们展示您用于
search的值的具体示例?另外,请编辑问题,使其可读。 -
我让我的搜索值保持简单,以便我知道至少一个文件会出现在结果中,例如 hello、mkv、merry 等。我尝试使用在一个数字中多次出现的东西的文件,所以它应该产生至少一个结果,如果不是更多