您的位置:

使用Python编写简单的命令行工具

一、Python命令行参数解析模块

Python中提供了argparse模块来解析命令行参数,在命令行使用时可以传入一些参数,程序可以根据这些参数来进行不同的处理。

import argparse

def main():
    parser = argparse.ArgumentParser(description='这是一个命令行工具')
    parser.add_argument('--name', dest='name', help='输入姓名')
    parser.add_argument('--age', dest='age', help='输入年龄')
    args = parser.parse_args()
    print('姓名:', args.name)
    print('年龄:', args.age)

if __name__ == '__main__':
    main()

其中,argparse.ArgumentParser()用来创建一个ArgumentParser对象,可以自定义工具的描述信息;parser.add_argument()用来添加命令行参数,指定参数的名称、默认值、类型、帮助信息等;parser.parse_args()用来解析命令行参数,返回一个Namespace对象,其中包含了传入的参数的值。

二、使用Click库构建命令行工具

Click是Python的一个第三方库,用于构建命令行工具,使用简单,功能强大,支持命令嵌套、参数类型验证、自动生成帮助信息等。

import click

@click.command()
@click.option('--name', prompt='请输入姓名', help='输入姓名')
@click.option('--age', prompt='请输入年龄', help='输入年龄', type=int)
def main(name, age):
    click.echo('姓名:%s' % name)
    click.echo('年龄:%d' % age)

if __name__ == '__main__':
    main()

其中,@click.command()用来修饰函数,将其转换为Click命令行工具;@click.option()用来添加命令行参数,指定参数名称、默认值、提示信息、参数类型等;click.echo()用来输出信息。

三、使用Python标准库os和subprocess调用系统命令

Python中的os和subprocess库提供了调用系统命令的接口,在Python程序中可以方便的调用系统命令。

import os
import subprocess

def main():
    os.system('echo "Hello World!"')
    subprocess.call(['echo', 'Hello World!'])

if __name__ == '__main__':
    main()

其中,os.system()函数可以调用系统命令并返回命令执行结果,subprocess.call()函数可以调用系统命令并等待命令执行完成。

四、使用Python的requests库发送HTTP请求

Python中的requests库提供了方便的HTTP请求接口,可以进行GET、POST等操作,并且支持代理和SSL验证。

import requests

def main():
    response = requests.get('http://www.baidu.com')
    print(response.text)

if __name__ == '__main__':
    main()

其中,requests.get()函数用来发送GET请求,并返回一个Response对象,可以通过response.text获取返回的结果。

五、使用Python的psutil库获取系统信息

Python中的psutil库提供了获取系统信息的接口,包括CPU、内存、磁盘、网络等信息。

import psutil

def main():
    cpu_percent = psutil.cpu_percent()
    memory_percent = psutil.virtual_memory().percent
    disk_percent = psutil.disk_usage('/').percent
    print('CPU:%f%%' % cpu_percent)
    print('内存:%f%%' % memory_percent)
    print('磁盘:%f%%' % disk_percent)

if __name__ == '__main__':
    main()

其中,psutil.cpu_percent()函数用来获取CPU使用率,psutil.virtual_memory().percent用来获取内存使用率,psutil.disk_usage('/').percent用来获取磁盘使用率。