把当前目录下,文件名包孕非数字,字母和(. /)的字符去除

把当前目录下,文件名包含非数字,字母和(.- /)的字符去除
正则表达式 python perl 都可以

------解决方案--------------------
引用:
Quote: 引用:


import os
import re
files = os.listdir(path)
for f in files:
    f1 = re.sub(r'[^0-9a-z\.\-/]', '', f, re.I)
    if os.path.isfile(f):
        os.rename(f, f1)





现在没有环境测试,自己找个无关紧要的目录测试吧,不要直接用



获取当前目录下的文件名,除了   os.listdir(os.getcwd()) 这种
可以用默认操作吗


如果你要用指定路径的话,f和f1在re.sub和rename之间要用os.path.join(),因为这两个只是文件名,相当于一个basename()