背景

复制一个目录时,提示有个文件名太长未能复制成功,然后忘记是哪个了,现在要靠脚本把它找出来。

代码

#!/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带命令行参数解析的文件遍历脚本(找出文件名长度大于某值的文件)相关推荐

  1. Python之命令行参数解析

    Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...

  2. Python的命令行参数解析

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 命令行参数解析在编程语言中基本都会碰到,Python中内置了一个用于命令项选项与参数解析的模块argparse.下 ...

  3. python argparse命令行参数解析

    argparse是python用于解析命令行参数和选项的标准模块. 很多时候,需要用到解析命令行参数的程序,目的是在终端窗口输入训练的参数和选项. argparse 模块可以让人轻松编写用户友好的命令 ...

  4. windows 下 Python的命令行参数解析 argparse模块 的使用

        argparse模块是Python内置的参数解析模块,相较于传统的 sys.argv 来说,其功能更加的强大,操作也更灵活. ArgumentParser类创建时的参数如下: prog - 程 ...

  5. python getopt使用_Python命令行参数解析模块getopt使用实例

    这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参考下 格式 getopt(args, options ...

  6. linux shell中的命令自动补全(compgen complete)与 命令行参数解析

    linux shell中的命令自动补全(compgen complete)与 命令行参数解析 标签: shell脚本 2013-12-31 21:56 6661人阅读 评论(6) 收藏 举报 分类: ...

  7. python编写请求参数带文件_转载:如何编写一个带命令行参数的Python文件

    看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命 ...

  8. Python命令行参数解析模块------argparse

      首先,argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广 ...

  9. 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出

    写在前面 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与可视化)+Perl/Python等(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准. 之前分享过 ...

最新文章

  1. IIS 配置Http重定向到Https
  2. 《LeetCode力扣练习》第16题 C语言版 (做出来就行,别问我效率。。。。)
  3. 银监局计算机英语面试题及答案,2012年国家公务员银监局面试真题及参考答案...
  4. 利用MessageUI发送邮件
  5. 判断经纬度是否落在中国地图上
  6. 格林尼治时间转换为本地时间
  7. 数据交换方式(电路交换、数据报交换、分组交换)
  8. Docker 映射端口telnet不通
  9. 微信小程序Canvas学习
  10. Android 13 适配指南~
  11. vue + moment.js 自己写日历
  12. fastboot命令
  13. 数据挖掘,你知道的大公司有哪些?独家揭秘:大数据公司挖掘数据价值的49个典型案例
  14. 20200512_惠普打印机功能地址保护错误
  15. python:实现meme生成器(附完整源码)
  16. python小波分析,频率普分析——代码修改
  17. 无线收发模块三种天线有什么区别?
  18. canvas系列教程06-柱状图项目4
  19. WIN10下各种软件字体模糊解决
  20. 双缓冲技术(C# GDI)

热门文章

  1. [2016陕西省赛B] Rui and her functions
  2. Android、IOS手机短视频拍摄、编辑的一些关键技术
  3. Centos7 升级内核版本
  4. rt_thread ota固件打包程序下载
  5. hdu1240 Asteroids!(三维bfs水)
  6. CodeMix使用教程:调试
  7. TCP的可靠传输-停止等待协议
  8. 关于三大技术革命的自我理解
  9. 成功解决:Activiti HikariPool-1 - jdbcUrl is required with driverClassName.
  10. Jquery eq方法小记