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\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实现删除指定文件的更多相关文章
- linux下利用inode删除指定文件文件
本文主要介绍使用inode删除异常文件名的文件的方法,供大家参考: 在Linux中,有时候会遇到文件名是乱码或者是某些特殊中文的文件,这时候通过文件名就很难删除. 同时,对于linux中的任何一个文件 ...
- Git中删除指定文件
之前的博客Git基础使用教程介绍了Git这个开源分布式管理系统的一些基础操作,这篇博客,介绍下如何利用Git删除远程仓库的文件... 1.拉取远程仓库的文件到本地 git clone xxx 如果还未 ...
- FILE文件删除操作(删除指定文件夹下所有文件和文件夹包括子文件夹下所有文件和文件夹),就是删除所有
2018-11-05 19:42:08开始写 选择 删除 1.FileUtils.java类 import java.io.File;//导入包 import java.util.List;//导入 ...
- bat 延时删除指定文件夹中的文件经验分享
1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...
- PHP批量清空删除指定文件夹内容
PHP批量清空删除指定文件夹内容: cleancache.php <?php // 清文件缓存 $dirs = array( realpath(dirname(__FILE__) . '/../ ...
- Qt删除指定文件
Qt删除指定文件: QFile fileTemp(filename); fileTemp.remove();
- php 删除指定文件夹
php 删除指定文件夹 1.前言 目标:php删除一个指定目录 所使用的的php函数:is_dir,opendir,readdir,scandir,rmdir,closedir,等等(注:其他文件操作 ...
- del命令实现全盘删除指定文件
@echo off Rem :全盘删除指定文件 set "fileName=Normal.dotm" set "outPutPath=C:\result.txt" ...
- Java:<获取>、<删除>指定文件夹及里面所有文件
工具类代码如下: 一.获取 public Class Test{ //定义全局变量,存放所有文件夹下的文档 List<String> fileList ; public List<S ...
随机推荐
- php文件上传错误信息
错误信息说明 UPLOAD_ERR_OK:其值为0,没有错误发生,文件上传成功 UPLOAD_ERR_INI_SIZE:其值为1,上传的文件超过了php.ini和upload_max_filesize ...
- request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
问题: 在近期开发的javaweb项目中,需要记录登录时的电脑ip地址和主机名,通过request.getRemoteAddr()和request.getRemoteHost()得到的值都是0:0:0 ...
- hdu 1269 迷宫城堡(Targin算法)
---恢复内容开始--- 迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 配置文件中的mime-mapping元素(ofbiz/framework/catalina/config/mime-type)(
mime-mapping元素将mime类型映射到扩展名. extension元素用来描述扩展名.mime-type元素则为MIME类型. <?xml version="1.0" ...
- AIOps-一位研发工程师的学习笔记
https://blog.csdn.net/wxm6614/article/details/80457568
- vue-cli中引入jquery方法
这里有个详解,当然,仅仅是安装jq的话下面这个办法就够了.传送门 在webpack.base.conf.js里加入 var webpack = require("webpack") ...
- POJ 2777 Count Color(线段树 + 染色问题)
传送门:Count Color Description Chosen Problem Solving and Program design as an optional course, you are ...
- 牛客练习赛 29 E 位运算?位运算!(线段树)
题目链接 牛客练习赛29E 对$20$位分别建立线段树.首先$1$和$2$可以合起来搞(左移右移其实是等效的) 用个lazy标记下.转移的时候加个中间变量. $3$和$4$其实就是区间$01$覆盖操 ...
- 【数论】【莫比乌斯反演】【线性筛】bzoj2301 [HAOI2011]Problem b
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 100%的数据满足:1≤n≤50000,1≤a≤b ...
- [NOI2017]整数
[NOI2017]整数 题目大意: \(n(n\le10^6)\)次操作维护一个长度为\(30n\)的二进制整数\(x\),支持以下两种操作: 将这个整数加上\(a\cdot2^b(|a|\le10^ ...