Python入门之sys模块
SYS模块是Python标准库中自带了一个模块。
sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互。
以下是一些常用的sys功能
1、sys.argv :脚本参数List,列表索引为0的元素是程序本身路径,后面列表元素对应脚本参数顺序
#!/usr/bin/env python3 import sys a = sys.argv print("脚本参数列表",a) print("索引为0的元素",a[0]) print("索引为1的元素",a[1]) print("索引为2的元素",a[2]) 执行结果: [root@localhost tmp]# ./pytest17.py arg1 agr2 脚本参数列表 ['./pytest17.py', 'arg1', 'agr2'] 索引为0的元素 ./pytest17.py 索引为1的元素 arg1 索引为2的元素 agr2
2、sys.exit(n) :退出程序返回值;退出程序程序功能与exit()相同,不同的是sys.exit()需要引入sys模块,exit()可以直接使用
#!/usr/bin/env python3 import os,sys while True: choice = input('是否退出程序:') if choice == "yes": sys.exit("退出程序!!!") else: print("继续执行!") 执行结果: 是否退出程序:no 继续执行! 是否退出程序:yes 退出程序!!!
3、sys.version:获取Python解释程序的版本信息
>>> print(sys.version) 3.6.1 (default, Jun 26 2017, 10:18:59) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
4、sys.path :返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
>>> print(sys.path) ['', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages/pip-9.0.1-py3.6.egg']
5、sys.platform :返回操作系统平台名称
#linux平台 >>> print(sys.platform) linux #windows平台 >>> print(sys.platform) win32
6、sys.stdout.write()
功能:向显示器打印输出内容,循环打印不会换行
使用方法:sys.stdout.write("要输出的内容");参数\r清空当前打印输出
#!/usr/bin/env python3 # -*- coding:utf8 -*- import time import sys a = 30 for i in range(a+1): #循环a加1次 sys.stdout.write("\r") #每次循环前清空向屏幕打印输出的数据 sys.stdout.write("<") sys.stdout.write("%s%% %s" % (int(i/a*100), int(i/a*30)*"--")) #向屏幕打印输出拼接的字符串百分之几和进度字符 sys.stdout.write(">") sys.stdout.flush() #刷新缓冲区,让每次循环都打印 time.sleep(0.1) #每循环一次停留1秒 sys.stdout.write("\n") #循环执行结束后换行 执行结果: root@localhost tmp]# ./pytest16.py <100% ------------------------------------------------------------> [root@localhost tmp]#
7、sys.stdin.readline( ):将标准输入全部获取,包括末尾的'\n';
常用格式:sys.stdin.readline()[:-1] 去掉末尾换行符"\n"
#!/usr/bin/env python3 import sys val = sys.stdin.readline() print(val) print("标注输出去换行符") vals = sys.stdin.readline()[:-1] #去掉标准输入后的换行符 print(vals) 执行结果: [root@localhost tmp]# ./pytest19.py chengd #标准输入内容 chengd 标注输出去换行符 chengd #标准输入内容 chengd
注:input()方法和stdin()类似,不同的是input()括号内可以直接填写说明文字。

浙公网安备 33010602011771号