一、sys 模块
sys是Python的一个「标准库」,也就是官方出的「模块」,是「System」的简写,封装了一些系统的信息和接口。
官方的文档参考:https://docs.python.org/2/library/sys.html
中文版文档参考:http://xukaizijian.blog.163.com/blog/static/170433119201111625428624/
二、sys.argv 参数
「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序。这个变量其实是一个List列表,argv[0] 一般是“被调用的脚本文件名或全路径”,这个与操作系统有关,argv[1]和以后就是传入的系统命令参数。比如脚本执行语句是:>>>> python using sys.args.py "whoami",那么我们使用sys.argv[1]获取的就是“whoami”这个参数;
sys.argv[]是用来获取命令行参数的,sys.argv[0]获取的内容是“脚本自身名称”,所以参数从1开始,获取的是执行命令内容,以下举例进行说明:
2.1 使用sys.argv[1]简单举例
2.1.1 脚本“using sys.argv.py”内容
import sys,os print(sys.argv) #打印输出命令行执行参数列表。
os.system(sys.argv[1]) #打印输出“系统命令执行结果”
这个例子os.system接收命令行参数,运行参数指令,我们在cmd命令行运行sys.argv.py脚本,具体命令:>>>> python using sys.argv.py "whoami",将获取当前运行脚本的用户信息。
2.1.2 脚本运行结果
(1) 脚本执行
C:\Users\Myles\Desktop>python using_sys.argv.py "net user" ['using_sys.argv.py', 'net user'] \\MYLES_PC 的用户帐户 ------------------------------------------------------------------------------- Administrator Guest Myles 命令成功完成。
(2)语句详解:
print(sys.argv)
---> 打印输出一个列表(list): ---> ['using_sys.argv.py', 'net user']
os.system(sys.argv[1]):
第一步: sys.argv[1] ---> 提取系统参数“whoami”
第二步: os.system('whoami') ---> 执行系统命令“whoami”,并放回执行结果。
脚本执行截图