import os
my_path = 'path_to_your_directory'
any_digit = '1234567890'
os.chdir(my_path) #Just to be sure you are in your working directory not else where!
for f in os.listdir('.'):
if any(x in f for x in any_digit) and f.endswith('.jpg'):
os.remove(f)
import glob
import os
def delete_files(path, pattern):
for f in glob.iglob(os.path.join(path, pattern)):
try:
os.remove(f)
except OSError as exc:
print exc
>>> delete_files('/tmp', '*[0-9]*.jpg')
在您的情况下,
regex
不是真正必要的,如果您想删除文件名中包含任何数字的任何文件,那么您可以通过以下方式简单地执行此操作:您也可以使用
^{pr2}$string
模块,然后:使用
re
模块。在使用^{} 比使用regex稍微容易一些:
os.remove()
应该在try/except
块中调用,以防文件无法删除,例如权限不足,被另一个进程使用,文件是一个目录等如果使用regex,如果有许多文件,则值得在循环之外编译模式:
^{pr2}$相关问题 更多 >
编程相关推荐