我正在尝试删除重复的文件(而不是最后扩展名为“(number)”的文件。
我为此目的使用正则表达式"^[a-zA-z0-9_]+\([0-9]*\)\.pdf$"
。正则表达式没有问题。
以下是我的代码
import re;
from path import path;
pattern1 = re.compile("^[a-zA-z0-9_]+\([0-9]*\)\.pdf$");
p = path("/home/jill/Downloads/Dinamalar (copy)")
#Deletes the duplicates in the folder
for f in p.files(pattern = pattern1):
print f
但我得到了
在for循环中TypeError:“类型为'_sre.SRE_Pattern'的对象没有len()”
。似乎缺少什么?
有没有更好的方法来做到这一点?
答案 0 :(得分:1)
不要编译正则表达式。相反,只需将字符串直接传递给p.files
:
for f in p.files(pattern="^[a-zA-z0-9_]+\([0-9]*\)\.pdf$"):
print f
(此答案基于@Shashank的评论)