Python学海无涯路【第26回】:sys模块
作者:互联网
文章目录
1、sys模块简介
sys模块负责程序与python解释器的交互,提供了一系列的函数变量,用于操控python运行时的环境。
2、相关函数介绍
2.1、argv
接收命令行参数,生成一个List,第一个元素是程序本身路径。
例:
#!/usr/bin/env python
# -*- coding:utf-8 -*
import sys
print("脚本名称:{}".format(sys.argv[0]))
for i in sys.argv:
if i==sys.argv[0]:
continue
print("参数为:",i)
print("总参数个数:{}".format(len(sys.argv)-1))
执行,输出:
2.2、modules.keys
返回所有已经导入的模块列表
import sys
print(sys.modules.keys())
2.3、exc_info
返回当前捕获的异常信息,即当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息。
2.4、exit
退出程序,正常退出时exit(0)
- Python的程序有两中退出方式:os._exit(), sys.exit()。
- os._exit()会直接将python程序终止,之后的所有代码都不会继续执行。
sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。 - exit(0):无错误退出
- exit(1):有错误退出
import os, sys
try:
sys.exit(0)
except:
print('die')
finally:
print('cleanup')
try:
os._exit(0)
except:
print('die')
print('os.exit') # 不打印直接退出了
输出:
die
cleanup
2.5、hexversion
获取Python解释程序的版本值,16进制格式如:0x020403F0
import sys
print(sys.hexversion)
2.6、version
获取Python解释程序的版本信息
例:
import sys
print(sys.version)
输出:
3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)]
2.7、maxsize
返回最大的Int值
例:
import sys
print(sys.maxsize)
输出:
9223372036854775807
2.8、maxunicode
返回最大的Unicode值
例:
import sys
print(sys.maxunicode)
输出:
1114111
2.9、modules
返回系统导入的模块字段,key是模块名,value是模块。
例:
import sys
print(sys.modules)
2.10、path
返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
例:
import sys
print(sys.path)
2.11、platform
返回操作系统平台名称
例:
import sys
print(sys.platform)
2.12、stdout
标准输出
例:
import sys
f = open('log.txt','a') #以追加的模式打开一个文件
__console__ = sys.stdout #备份默认console命令行
sys.stdout = f #指定标准输出到文件
print('hello python') #会输入到log.txt中
sys.stdout = __console__ #将标准输出改为模式的console命令行模式
print('hello world') #输出将会在console命令行下
输出:
hello world
2.13、stdin
标准输入。
例:
import sys
name=sys.stdin.readline() #接受标准输入,等价于raw_input()
print("输出:",name)
输出:
2.14、stderr
标准错误输出。
2.15、byteorder
本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’
即通常说的大端小端。
2.15.1、大端和小端
大端: 低字节放内存低地址端,高字节放内存高地址端
小端: 低字节放内存高地址端,高字节放内存低地址端
import sys
print(sys.byteorder)
2.16、copyright
记录python版权相关的东西
2.17、api_version
解释器的C的API版本
标签:输出,学海无涯,Python,sys,python,exit,print,import 来源: https://blog.csdn.net/chuhe163/article/details/95018045