python带命令行参数解析的文件遍历脚本(找出文件名长度大于某值的文件)
背景
复制一个目录时,提示有个文件名太长未能复制成功,然后忘记是哪个了,现在要靠脚本把它找出来。
代码
#!/usr/bin/pythonimport getopt
import os
import sysdef parse_args(argv):num = 0path = '.'try:'''Syntax: getopt.getopt(args, options, [long_options])Parameters:args: List of arguments to be passed.options: String of option letters that the script wants to recognize. Options that require an argument should be followed by a colon (:).long_options: List of the string with the name of long options. Options that require arguments should be followed by an equal sign (=). '''# h i o 为可选项,其中 i 和 o 后面需要跟参数opts, args = getopt.getopt(argv, "hn:p:")except getopt.GetoptError:print('使用方法: finder.py -n <文件名长度最小值> -p <路径,默认为当前目录>')sys.exit(2)for opt, arg in opts:if opt == '-h':print('使用方法: finder.py -n <文件名长度最小值> -p <路径,默认为当前目录>')sys.exit()elif opt == "-n":if not arg.isdigit():print('使用方法: finder.py -n <文件名长度最小值> -p <路径,默认为当前目录>')sys.exit()num = int(arg)elif opt == "-p":path = argreturn path, numdef extract_files(path='.', num=0):for p, dir_list, file_list in os.walk(path):for file in file_list:if len(file) >= num:print("长度: {}, 文件名: {}".format(len(file), os.path.join(p, file)))if __name__ == "__main__":path, num = parse_args(sys.argv[1:])extract_files(path, num)
使用方法
执行:
python finder.py -n <文件名长度最小值> -p <路径,默认为当前目录>'
运行样例:
python .\main.py -n 3 -p D:\test
长度: 5, 文件名: D:\test\1.txt
长度: 10, 文件名: D:\test\新建文件夹\新建文本文档.txt
长度: 10, 文件名: D:\test\新建文件夹 - 副本\新建文本文档.txt
长度: 10, 文件名: D:\test\新建文件夹 - 副本 (2)\新建文本文档.txt
python带命令行参数解析的文件遍历脚本(找出文件名长度大于某值的文件)相关推荐
- Python之命令行参数解析
Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...
- Python的命令行参数解析
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 命令行参数解析在编程语言中基本都会碰到,Python中内置了一个用于命令项选项与参数解析的模块argparse.下 ...
- python argparse命令行参数解析
argparse是python用于解析命令行参数和选项的标准模块. 很多时候,需要用到解析命令行参数的程序,目的是在终端窗口输入训练的参数和选项. argparse 模块可以让人轻松编写用户友好的命令 ...
- windows 下 Python的命令行参数解析 argparse模块 的使用
argparse模块是Python内置的参数解析模块,相较于传统的 sys.argv 来说,其功能更加的强大,操作也更灵活. ArgumentParser类创建时的参数如下: prog - 程 ...
- python getopt使用_Python命令行参数解析模块getopt使用实例
这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...
- linux shell中的命令自动补全(compgen complete)与 命令行参数解析
linux shell中的命令自动补全(compgen complete)与 命令行参数解析 标签: shell脚本 2013-12-31 21:56 6661人阅读 评论(6) 收藏 举报 分类: ...
- python编写请求参数带文件_转载:如何编写一个带命令行参数的Python文件
看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命 ...
- Python命令行参数解析模块------argparse
首先,argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广 ...
- 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出
写在前面 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与可视化)+Perl/Python等(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准. 之前分享过 ...
最新文章
- IIS 配置Http重定向到Https
- 《LeetCode力扣练习》第16题 C语言版 (做出来就行,别问我效率。。。。)
- 银监局计算机英语面试题及答案,2012年国家公务员银监局面试真题及参考答案...
- 利用MessageUI发送邮件
- 判断经纬度是否落在中国地图上
- 格林尼治时间转换为本地时间
- 数据交换方式(电路交换、数据报交换、分组交换)
- Docker 映射端口telnet不通
- 微信小程序Canvas学习
- Android 13 适配指南~
- vue + moment.js 自己写日历
- fastboot命令
- 数据挖掘,你知道的大公司有哪些?独家揭秘:大数据公司挖掘数据价值的49个典型案例
- 20200512_惠普打印机功能地址保护错误
- python:实现meme生成器(附完整源码)
- python小波分析,频率普分析——代码修改
- 无线收发模块三种天线有什么区别?
- canvas系列教程06-柱状图项目4
- WIN10下各种软件字体模糊解决
- 双缓冲技术(C# GDI)