Python模块-sys模块
sys.version 获取Python解释程序的版本信息
>>> sys.version '2.7.12 (default, Dec 4 2017, 14:50:18) \n[GCC 5.4.0 20160609]'
sys.platform 返回操作系统平台名称
>>> sys.platform 'linux2'
sys.getrecursionlimit() #获取最大递归层数
>>> sys.getrecursionlimit() 1000
sys.setrecursionlimit() #设置最大递归层数
>>> sys.setrecursionlimit(5000) >>> sys.getrecursionlimit() 5000
sys.getdefaultencoding() #获取解释器默认编码
>>> sys.getdefaultencoding() 'ascii'
sys.getfilesystemencoding() #获取内存数据存到文件里的默认编码
>>> sys.getfilesystemencoding() 'UTF-8'
sys.maxint 最大的int值
>>> sys.maxint 9223372036854775807
Python3中为sys.maxsize
>>> sys.maxsize 9223372036854775807
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
>>> sys.path ['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/home/sch01ar/.local/lib/python3.5/site-packages', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']
sys.argv 命令行参数列表,第一个元素是程序本身路径
import sys if sys.argv: print(sys.argv)
运行结果
sys.exit(n) 退出程序,正常退出时exit(0)
import sys print('sys test') sys.exit(0) print('a')
运行结果
sys.exit()中加参数会在退出程序前打印
import sys print('sys test') sys.exit('python will exit')
运行结果
sys.exit()用于在主线程退出,os._exit()用于在线程中退出
sys.stdin.readline() 标准输入
>>> sys.stdin.readline() python 'python\n'
sys.stdout.write() 标准输出
import sys sys.stdout.write('Python\n')
运行结果
还会返回字符串的长度
>>> sys.stdout.write('Python') Python6 >>> sys.stdout.write('Python\n') Python 7