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

例如删除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\n' \
'-h --help show this usage\n' \
'-f --filename delete all files start with this filename, such as test or pyc\n if not specified, delete all files' \
'-p --path delete files from the specified path\n' 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()

python利用os和getopt实现删除指定文件的更多相关文章

  1. linux下利用inode删除指定文件文件

    本文主要介绍使用inode删除异常文件名的文件的方法,供大家参考: 在Linux中,有时候会遇到文件名是乱码或者是某些特殊中文的文件,这时候通过文件名就很难删除. 同时,对于linux中的任何一个文件 ...

  2. Git中删除指定文件

    之前的博客Git基础使用教程介绍了Git这个开源分布式管理系统的一些基础操作,这篇博客,介绍下如何利用Git删除远程仓库的文件... 1.拉取远程仓库的文件到本地 git clone xxx 如果还未 ...

  3. FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有

    2018-11-05  19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...

  4. bat 延时删除指定文件夹中的文件经验分享

    1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...

  5. PHP批量清空删除指定文件夹内容

    PHP批量清空删除指定文件夹内容: cleancache.php <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../ ...

  6. Qt删除指定文件

    Qt删除指定文件: QFile fileTemp(filename); fileTemp.remove();

  7. php 删除指定文件夹

    php 删除指定文件夹 1.前言 目标:php删除一个指定目录 所使用的的php函数:is_dir,opendir,readdir,scandir,rmdir,closedir,等等(注:其他文件操作 ...

  8. del命令实现全盘删除指定文件

    @echo off Rem :全盘删除指定文件 set "fileName=Normal.dotm" set "outPutPath=C:\result.txt" ...

  9. Java:<获取>、<删除>指定文件夹及里面所有文件

    工具类代码如下: 一.获取 public Class Test{ //定义全局变量,存放所有文件夹下的文档 List<String> fileList ; public List<S ...

随机推荐

  1. Linux下几种并发服务器的实现模式

    Linux下的几种并发服务器的设计模式 1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. ...

  2. python 函数内置方法short_desc

    1. 给函数设置一个文本 def action_checked(self, request): pass action_checked.short_desc = "签到" # sh ...

  3. redis之(四)redis的字符串类型的命令

    [一]获得符合规则的键名列表  -->命令  keys [pattern] -->keys命令需要遍历Redis中所有的键,当键的数量比较多会影响性能,生产环境不建议用 -->pat ...

  4. sql server2000存储过程sp_password

    create procedure sp_password @old sysname = NULL, -- the old (current) password @new sysname, -- the ...

  5. 7.spark Streaming 技术内幕 : 从DSteam到RDD全过程解析

    原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/)   上篇博客讨论了Spark Streaming 程序动态生成Job的过程,并留下一个疑问: ...

  6. HP自动检查html标签是否闭合

    function HtmlClose($body) { $strlen_var = strlen($body); // 不包含 html 标签 if (strpos($body, '<') == ...

  7. AndroidManifest.xml文件详解(uses-feature)

    http://blog.csdn.net/think_soft/article/details/7596796 语法(SYNTAX): <uses-featureandroid:name=&qu ...

  8. 解决Xamarin Android SDK Manager闪退问题

    解决Xamarin Android SDK Manager闪退问题 SDK Manager闪退是因为它找不到java.exe导致的.SDK Manager默认是通过读取注册表中JDK安装信息来java ...

  9. React 中组件的生命周期

    先上代码, react 用的是 15.0.1 <!DOCTYPE html> <html> <head> <script src="./build/ ...

  10. CodeForces - 524F And Yet Another Bracket Sequence

    题面在这里! (会考完之后休闲休闲2333) 可以发现,如果把一个串中"()"自动删除,最后剩的一定是形如"))))....))(((..((("这样的串,然后 ...