Python3的sys模块的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。不准各种形式的复制及盗图 https://blog.csdn.net/qq_26816591/article/details/88593788
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 标准输出

猜你喜欢

转载自blog.csdn.net/qq_26816591/article/details/88593788