zoukankan      html  css  js  c++  java
  • python利用os和getopt实现删除指定文件

    工作中经常遇到要删除某些目录下的特定文件

    例如删除xxx目录下的所有test开头文件或者.pyc结尾的文件

    如果手动删除的话,很麻烦,写个程序自动删除

    只需要运行的时候输入路径和文件名即可,不输入文件名则删除目录下所有文件

    下面贴代码

    # -*- coding:utf-8 -*-
    """
        this is a program to delete specified files
    """
    
    import os
    import sys
    import getopt
    
    def usage():
        print 'this is a program to delete all specified files in the specified path
    ' 
              '-h --help show this usage
    ' 
              '-f --filename delete all files start with this filename, such as test or pyc
     if not specified, delete all files' 
              '-p --path delete files from the specified path
    '
    
    def get_argument():
        try:
            path = ''
            filename = ''
            opts, args = getopt.getopt(sys.argv[1:], 'hf:p:', ['--help', '--filename', '--path'])
            for o, a in opts:
                if o in ['-h', '--help']:
                    usage()
                    sys.exit()
                if o in ['-f', '--filename']:
                    filename = a
                if o in ['-p', '--path']:
                    path = a
            if filename:
                delete_files_with_filename(path, filename)
            else:
                delete_all_files(path)
        except getopt.GetoptError:
            usage()
            sys.exit()
    
    def delete_files_with_filename(path, filename=None):
        del_list = os.listdir(path)
        for f in del_list:
            filepath = os.path.join(path, f)
            if os.path.isfile(filepath):
                if filename in f:
                    os.remove(filepath)
            elif os.path.isdir(filepath):
                delete_files_with_filename(filepath, filename)
    
    def delete_all_files(path):
        del_list = os.listdir(path)
        for f in del_list:
            filepath = os.path.join(path, f)
            if os.path.isfile(filepath):
                os.remove(filepath)
            elif os.path.isdir(filepath):
                delete_all_files(filepath)
                os.rmdir(filepath)
    
    if __name__ == '__main__':
        get_argument()
  • 相关阅读:
    实现新layer的时候易犯的错误
    caffe实现focal loss层的一些理解和对实现一个layer层易犯错的地方的总结
    面经准备
    发送广播
    labelme也可以标注polygan
    中期答辩准备的东西
    授人以鱼,不如授人以渔
    python中strip()函数的理解
    栈的应用
    checkStyle使用具体解释
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/7803237.html
Copyright © 2011-2022 走看看