所以我有一个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,梅里1,2,3,4,5,6,7等。。。
fnmatch实现Unix shell通配符语法。因此,无论您在
ls
命令中键入什么(例如),都将起作用:记住,fnmatch纯粹是一个字符串匹配操作。如果您发现使用不同的模式样式(例如regex)更方便,那么只需使用regex操作来匹配您的文件名。
相关问题 更多 >
编程相关推荐