最近在学编译原理,写词法分析器的过程中,发现了一个问题:目录下每个cPython文件编译运行后会生成.o和.exe文件,再加上编译器备份时生成的bak文件,造成文件十分繁杂。轻微强迫症的我表示不能忍,正好前段时间学了Python,于是用Python写了一个脚本来批量删除多余文件。 import os import sys import os.path import shutil #获取当前路径 def fileDir() : path = sys.path[ 0 ] print(path) #判断为脚本文件还是编译后文件,如果是脚本文件则返回脚本目录,否则返回编件译后的文件路径 if os.path.isdir( path ) : return path elif os.path.isfile( path ) : return os.path.dirname( path ) #获取文件后缀名 def suffix( file, *suffixName ) : array = map( file.endswith, suffixName ) if True in array : return True else : return False #删除目录下扩展名为.o,.exe,.bak的文件 def deleteFile() : targetDir = fileDir() for file in os.listdir( targetDir ) : targetFile = os.path.join( targetDir, file ) if suffix( file, '.o', '.bak', '.exe' ): os.remove( targetFile ) if __name__ == '__main__' : deleteFile() 参考文献 Python获取当前脚本文件路径目录 使用Python查找目录下特定后缀名的文件