import sys
# 1.argv
print(sys.argv[0]) # 这其实就是一个list,下标为0元素是程序自身的绝对路径。
sys.argv.append('hello')
sys.argv.append('world') # 向列表添加了两个元素
print(sys.argv[2]) # 打印下标为2的元素
# 2.modules
print(sys.modules[__name__]) # 返回系统导入的模块字段,key是模块名,value是模块
# Python中所有加载到内存的模块都放在sys.modules。sys.modules是一个全局字典,字典sys.modules对于加载模块起到了缓冲的作用
# 当import一个模块时首先会在这个列表中查找是否已经加载了此模块,如果加载了则只是将模块的名字加入到正在调用import的模块的
# Local名字空间中。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。件,模块文件可以是py、pyc、pyd,
# 找到后将模块载入内存,并加入到sys.modules中,并将名称导入到当前的Local名字空间。
# 3.exit()
# sys.exit() # 退出程序,正常退出时exit(0),异常退出exit(1-127) 引发异常:SystemExit。可以主动捕获异常。
# 4.version
print(sys.version) # 获取Python解释程序的版本信息
# 5.maxint (已经废除,因为整数值大小不再受限)
# 6.path
print(sys.path) # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# 7.platform
print(sys.platform) # 返回操作系统平台名称
# 8.stdout.write()
sys.stdout.write('str') # 在控制台打印,只能str类型
print('\n3')
# 9.stdin.readline()
# va1 = sys.stdin.readline()[:-1] # 类似input 接收一个输入
# print('你的输入:', va1)
# 10.modules.keys()
print(sys.modules.keys()) # 返回所有已经导入的模块名
# 11.modules.values()
print(sys.modules.values()) # 返回所有已经导入的模块
# 12.exc_info()
print(sys.exc_info()) # 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
# 13.hexversion
print(sys.hexversion) # 获取Python解释程序的版本值,16进制格式如:0x020403F0
# 14.maxunicode
print(sys.maxunicode) # 最大的Unicode值
# 15.api_version
print(sys.api_version) # 解释器的C的API版本
# 16.version_info
print(sys.version_info) # ‘final’表示最终,也有’candidate’表示候选,serial表示版本级别,是否有后继的发行
# 17.displayhook()
sys.displayhook(
'hello') # 如果value非空,这个函数会把他输出到sys.stdout,并且将他保存进__builtin__._.指在python的交互式解释器里,’_’
# 代表上次你输入得到的结果,hook是钩子的意思,将上次的结果钩过来
# 18.getdefaultencoding()
print(sys.getdefaultencoding()) # 返回当前你所用的默认的字符编码格式
# 19.getfilesystemencoding()
print(sys.getfilesystemencoding()) # 返回将Unicode文件名转换成系统文件名的编码的名字
# 20.setdefaultencoding() 已经废除
# sys.setdefaultencoding() # 用来设置当前默认的字符编码,如果name和任何一个可用的编码都不匹配,抛出 LookupError,这个函数
# 只会被site模块的sitecustomize使用,一旦别site模块使用了,他会从sys模块移除
# 21.builtin_module_names
print(sys.builtin_module_names) # Python解释器导入的模块列表
# 22.executable
print(sys.executable) # Python解释程序路径
# 23.getwindowsversion()
print(sys.getwindowsversion()) # 获取Windows的版本
# 24.copyright
print(sys.copyright) # 记录python版权相关的东西
# 25.byteorder
print(sys.byteorder) # 本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’
# 26.exc_clear()# 已经废除
# sys.exc_clear() # 用来清除当前线程所出现的当前的或最近的错误信息
# 27.exec_prefix
print(sys.exec_prefix) # 返回平台独立的python文件安装的位置
# 28.stderr stdin stdout
sys.stderr # 错误输出
sys.stdin # 标准输入
sys.stdout # 标准输出
要点:
- argv 是第一个元素为程序本身绝对路径的列表,其他元素为空
- modules 全局字典,存的是系统导入的模块(模块名,模块)
- exit() 退出程序正常退出为0异常退出为1-127,并引发SystemExit异常,可以主动捕获异常
- version 获取python解释器的版本信息
- path 返回模块的搜索路径,python环境变量的值
- platform 返回python平台的名称
- stdout.write(str) 在控制台输出str
- stdin.readline() 接收一个输入。类似input
- modules.keys() 导入的模块名。modules.values() 返回导入的模块
- exc_info() 获取正在处理的异常类,及异常详细。
- hexversion 获取python解释器的版本,16进制。
- maxunicode 获取最大的Unicode值
- api_version 解释器的C的API 版本
- version_info 获取版本详细
- displayhook(str) 在控制台输出,并存进_builtin_ python交互式解释器
- builtin_module_names 解释器导入的模块列表
- getdefaultencoding() 获取当前默认字符编码格式
- getfilesystemencoding() 获取系统文件的编码格式
- executable python 解释程序路径
- getwindowsversion() 获取Windows版本
- copyright 输出python版权相关信息
- byteorder 本地字节规则指示器信息:big-endian输出big little-endian输出litte
- exec_prefix 输出平台python文件安装目录
- stderr 错误输出 stdin 标准输入 stdout 标准输出