目录
sys作用常用变量sys.versionsys.maxsizesys.maxunicodesys.pathsys.platformsys.argvsys.executablesys.byteordersys.version_infosys.api_versionsys.stdin/sys.stdout/sys.stderr常用方法sys.exit()sys.modulessys.modules.keys()sys.getdefaultencoding()sys.getfilesystemencoding()sys.getrecursionlimit()sys.setrecursionlimit(num)sys.getsizeof()sys.getrefcount(obj)sys.exc_info()sys.getwindowsversion()sys.stdin.readline()sys.stdout.write()总结sys作用
Python的sys模块提供访问由解释器使用或维护的变量的接口,并提供了一些函数用来和解释器进行交互,操控Python的运行时环境。
>>> import sys
常用变量
sys.version
返回Python解释器版本号;用于某程序需要用指定版本号运行
>>> import sys >>> sys.version 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]
sys.maxsize
表示操作系统承载的最大int值
>>> import sys >>> sys.maxsize 9223372036854775807
sys.maxunicode
给出最大Unicode代码点值的整数,即1114111(十六进制0x10FFFF)。
>>> import sys >>> sys.maxunicode 1114111
sys.path
当前脚本的path环境变量,如果没有python就找到
>>> import sys >>> sys.path ["", "D:\\Python3.8\\python38.zip", "D:\\Python3.8\\DLLs", "D:\\Python3.8\\lib", "D:\\Python3.8", "D:\\Python3.8\\lib\\site-packages"]
sys.platform
返回操作系统平台名称,在编写跨平台应用时很有用
系统 | 返回值 |
---|---|
Windows | ‘win32’ |
Linux | ‘linux’ |
Mac | ‘darwin’ |
>>> import sys >>> sys.platform win32
sys.argv
将python脚本运行时的脚本名以及参数作为一个list,并输出。实现从程序外部像程序内容传递参数
import sys print(sys.argv)
E:\Python> python 2.py hello python ["2.py", "hello", "python"]
sys.executable
一个字符串,给出Python解释器的可执行二进制文件的绝对路径。如果Python无法检索其可执行文件的真实路径,sys.executable则将为空字符串或None。
>>> import sys >>> sys.executable "D:\\Python3.8\\python.exe"
sys.byteorder
本地字节顺序的指示符——在大端序(最高有效位优先)操作系统上值为 ‘big’ ,在小端序(最低有效位优先)操作系统上为 "little
>>> import sys >>> sys.byteorder "little"
sys.version_info
包含版本号的五个组件的元组:major,minor, micro,releaselevel和serial。
>>> import sys >>> sys.version_info sys.version_info(major=3, minor=7, micro=3, releaselevel="final", serial=0)
sys.api_version
此解释器的C API版本。
>>> import sys >>> sys.api_version 1013
sys.stdin/sys.stdout/sys.stderr
标准输入、输出、错误。
>>> import sys >>> sys.stdin <_io.TextIOWrapper name="" mode="r" encoding="utf-8"> >>> sys.stdout <_io.TextIOWrapper name=" " mode="w" encoding="utf-8"> >>> sys.stderr <_io.TextIOWrapper name=" " mode="w" encoding="utf-8">
常用方法
sys.exit()
退出程序,正常退出时exit(0)
import sys print(sys.exit(0)) print(sys.exit(1))
sys.modules
返回系统导入的模块字段,key是模块名,value是模块
>>> import sys >>> sys.modules {"sys":, "builtins": , "_frozen_importlib": , "_imp": , "_warnings": , "_frozen_importlib_external": , "_io": , "marshal": , "nt": , "_thread": , "_weakref": , "winreg": , "time": , "zipimport": , "_codecs": , "codecs": , "encodings.aliases": , "encodings": , "encodings.utf_8": , "_codecs_cn": , "_multibytecodec": , "encodings.gbk": , "_signal": , "__main__": , "encodings.latin_1": , "_abc": , "abc": , "io": , "_stat": , "stat": , "_collections_abc": , "genericpath": , "ntpath": , "os.path": , "os": , "_sitebuiltins": , "_locale": , "_bootlocale": , "types": , "importlib._bootstrap": , "importlib._bootstrap_external": , "warnings": , "importlib": , "importlib.machinery": , "importlib.abc": , "_operator": , "operator": , "keyword": , "_heapq": , "heapq": , "itertools": , "reprlib": , "_collections": , "collections": , "_functools": , "functools": , "contextlib": , "importlib.util": , "mpl_toolkits": , "site": , "atexit": }
sys.modules.keys()
返回所有已导入的模块名列表
>>> import sys >>> sys.modules.keys() dict_keys(["sys", "builtins", "_frozen_importlib", "_imp", "_warnings", "_frozen_importlib_external", "_io", "marshal", "nt", "_thread", "_weakref", "winreg", "time", "zipimport", "_codecs", "codecs", "encodings.aliases", "encodings", "encodings.utf_8", "_codecs_cn", "_multibytecodec", "encodings.gbk", "_signal", "__main__", "encodings.latin_1", "_abc", "abc", "io", "_stat", "stat", "_collections_abc", "genericpath", "ntpath", "os.path", "os", "_sitebuiltins", "_locale", "_bootlocale", "types", "importlib._bootstrap", "importlib._bootstrap_external", "warnings", "importlib", "importlib.machinery", "importlib.abc", "_operator", "operator", "keyword", "_heapq", "heapq", "itertools", "reprlib", "_collections", "collections", "_functools", "functools", "contextlib", "importlib.util", "mpl_toolkits", "site", "atexit"])
sys.getdefaultencoding()
返回Unicode实现使用的当前默认字符串编码的名称。
>>> import sys >>> sys.getdefaultencoding() "utf-8"
sys.getfilesystemencoding()
返回用于在Unicode文件名和字节文件名之间进行转换的编码名称
>>> import sys >>> sys.getfilesystemencoding() utf-8
sys.getrecursionlimit()
返回最大递归次数
>>> import sys >>> sys.getrecursionlimit() # 查看当前解释器的最大递归深度 1000
sys.setrecursionlimit(num)
设置最大递归次数
>>> import sys >>> sys.setrecursionlimit(1100) # 将解释器的最大递归深度设置为1100 >>> sys.getrecursionlimit() # 再次查看当前解释器的最大递归深度 1100
sys.getsizeof()
获取对象占用的内存大小(用字节表示)
>>> import sys >>> for obj in [int(), float(), list(), tuple(), set(), dict(), object]: ... print(str(obj.__class__).ljust(20), sys.getsizeof(obj)) ...24 24 56 40 216 232 416
sys.getrefcount(obj)
返回obj的引用计数。返回的计数通常比预期的高一个,因为它包含(临时)引用作为参数。
>>> import sys >>> a = [1,2,3] >>> b = a >>> c = b >>> sys.getrefcount(a) 4
sys.exc_info()
获取当前正在处理的异常类,exc_type
、exc_value
、exc_traceback
当前处理的异常详细信息
>>> import sys >>> sys.exc_info() (None, None, None)
sys.getwindowsversion()
获取Windows的版本,Windows系统中有效
>>> import sys >>> sys.getwindowsversion() sys.getwindowsversion(major=10, minor=0, build=19041, platform=2, service_pack="")
sys.stdin.readline()
从标准输入读一行,会读取末尾的换行符
sys.stdout.write()
向标准输出写入内容
>>> import sys >>> sys.stdout.write("hello world") hello world11
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?