通过OS shell删除python文件

时间:2011-04-03 21:02:26

标签: python file

我试图删除R:中的所有文件。 用通配符。

E:\test\*.txt

我会问,而不是测试os.walk。 在窗户中。

4 个答案:

答案 0 :(得分:54)

执行此操作的方法是使用glob模块:

import glob
import os
for fl in glob.glob("E:\\test\\*.txt"):
    #Do what you want with the file
    os.remove(fl)

答案 1 :(得分:17)

另一种方法的略微冗长的写作

import os
dir = "E:\\test"
files = os.listdir(dir)
for file in files:
    if file.endswith(".txt"):
        os.remove(os.path.join(dir,file))

或者

import os
[os.remove(os.path.join("E:\\test",f)) for f in os.listdir("E:\\test") if f.endswith(".txt")]

答案 2 :(得分:0)

如果你想用更少的行

,也可以使用popen
from subprocess import Popen
proc = Popen("del E:\test\*.txt",shell=False)

答案 3 :(得分:0)

如果要删除具有多个扩展名的文件,请在元组中定义如下扩展名

import os

def purge(dir):
    files = os.listdir(dir)
    ext = ('.txt', '.xml', '.json')
    for file in files:
        if file.endswith(ext):
            print("File -> " + os.path.join(dir,file))
            os.remove(os.path.join(dir,file))