Python写的linux命令(1)——ck查看文件过滤#和空行显示,过滤并显示需要的信息

本文介绍了一个使用Python编写的Linux命令,该命令能过滤掉文件中的注释和空行,快速查找所需信息。通过argparse模块处理命令行参数,Path模块获取文件属性,简化配置文件的检查和搜索操作。
摘要由CSDN通过智能技术生成

业务需求

每次查看各种文件时(尤其是配置文件)总有一大堆的注释,一个文件动辄几百行的注释会让我们很不容易查找到我们所需要的信息使我们的每次查看还需要浪费我们很多的时间。比如有时我们查一个端口号,一个IP地址,也需要翻看整个配置文件,或者使用cat|grep命令来执行,总之,我们需要一个简单的命令可以直接实现这个操作。

主要功能

此命令主要实现以下作用:
①、过滤文本所有的注释一级空行,并显示全文本
②、在过滤后的基础上,匹配查找文本中我们所需要的信息,如:IP、NAME、PORT等

注:查找需要的信息模块可以举一反三,需要什么就添加一个类似的命令即可,然后做好注释方便我们后的使用

所用模块

argparse模块

python3中argparse模块
1、定义:argparse是python标准库里面用来处理命令行参数的库
2、命令行参数分为位置参数和选项参数:
位置参数就是程序根据该参数出现的位置来确定的
如:[root@openstack_1 /]# ls root/ #其中root/是位置参数
选项参数是应用程序已经提前定义好的参数,不是随意指定的
如:[root@openstack_1 /]# ls -l # -l 就是ls命令里的一个选项参数

3、使用步骤:
(1)import argparse 首先导入模块
(2)parser = argparse.ArgumentParser() 创建一个解析对象
(3)parser.add_argument() 向该对象中添加你要关注的命令行参数和选项
(4)parser.parse_args() 进行解析

4、argparse.ArgumentParser()方法参数须知:一般我们只选择用description

  • prog=None - 程序名
  • description=None, - help时显示的开始文字
  • epilog=None, -help时显示的结尾文字
  • parents=[], -若与其他参数的一些内容一样,可以继承
  • formatter_class=argparse.HelpFormatter, - 自定义帮助信息的格式
  • prefix_chars=’-’, - 命令的前缀,默认是‘-’
  • fromfile_prefix_chars=None, -命令行参数从文件中读取
  • argument_default=None, - 设置一个全局的选项缺省值,一般每个选项单独设置
  • conflict_handler=‘error’, -定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
  • add_help=True -是否增加-h/–help选项,默认是True)
parser = argparse.ArgumentParser(description = 'this is a description')

5、add_argument()方法参数须知:

  • name or flags… - 必选,指定参数的形式,一般写两个,一个短参数,一个长参数
  • action 表示值赋予键的方式,这里用到的是bool类型,action意思是当读取的参数中出现指定参数的时候的行为
  • help 可以写帮助信息
parser.add_argument('--ver', '-v', action = 'store_true', help = 'hahaha')

Path模块

主要用于获取文件的属性

方法 说明
os.path.abspath(path) 返回绝对路径
os.path.basename(path) 返回文件名
os.path.commonprefix(list) 返回list(多个路径)中,所有path共有的最长的路径
os.path.dirname(path) 返回文件路径
os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.lexists 路径存在则返回True,路径损坏也返回True
os.path.expanduser(path) 把path中包含的""和"user"转换成用户目录
os.path.expandvars(path) 根据环境变量的值替换path中包含的" n a m e " 和 " name"和"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值