• 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()
  • 相关阅读:
    Ubuntu 下安装 PHP Solr 扩展的安装与使用
    转载:Ubuntu14-04安装redis和php5-redis扩展
    Datagridview全选,更新数据源代码
    sftp不识别的问题ssh命令找不到
    linux:如何修改用户的密码
    win7.wifi热点
    Rico Board.1.环境配置
    linux学习记录.6.vscode调试c makefile
    linux学习记录.5.git & github
    linux学习记录.3.virtualbox 共享文件夹
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/7803237.html
Copyright © 2020-2023  润新知