美文网首页
【使用Python打造Linux命令行工具1】

【使用Python打造Linux命令行工具1】

作者: 西布鲁克 | 来源:发表于2021-06-04 18:30 被阅读0次

一、与命令行相关的python语言特性

使用sys.argv获取命令行参数

sys库中有一个保存所有命令行参数的argv列表,在使用前需要先导入sys库

import sys

其中sys.argv[0]表示python程序本身,sys.argv[1]....表示依次表示执行程序时所带的命令行参数

在处理sys.argv列表的时候需要注意处理数组越界的问题,如果执行程序时没有添加命令行参数,那么sys.argv[1]及后续的列表元素的访问都会出错。

使用sys.stdin和fileinput读取标准输入

python的sys库中有三个标准文件描述符

  • stdin - 标准输入
  • stdout - 标准输出
  • stderr - 标准错误

fileinput是python的一个标准库,它会遍历sys.argv列表,依次读取命令行参数重给出的多个文件,fileinput提供了一系列方法显示当前所读取文件的相关内容

fileinput.filename() - 当前正在读取的文件名
fileinput.fileno() - 当前读取文件的描述符
fileinput.filelineno() - 正在读取的文件的行号
fileinput.isfirstline() - 是否正在读取文件第一行
fileinput.isstdin() - 是否从标准输入读取(还是文件中读取)

使用SystemExit异常打印错误信息

sys.stdout和sys.stderr的输出都会打印到命令行

使用getpass库读取密码

getpass是一个非常简单的Python标准库,主要包含getuser函数和getpass函数。前者用来从环境变量中获取用户名,后者用来等待用户输入密码。getpass函数与input函数的区别在于,它不会将我们输入的密码显示在命令行中,从而避免我们输入的密码被他人看到。

相关文章

网友评论

      本文标题:【使用Python打造Linux命令行工具1】

      本文链接:https://www.haomeiwen.com/subject/gozxeltx.html