sys 模块主要负责与 Python 解释器进行交互,该模块提供了一系列用于控制 Python 运行环境的函数和变量。
之前我们说过 os 模块,该模块与 sys 模块从名称上看着好像有点类似,实际上它们之间是没有什么关系的,os 模块主要负责与 *** 作系统进行交互。
2. 使用我们先整体看一下 sys 模块都包含哪些内容,如下所示:
>>> import sys>>> dir(sys)['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_deBUGmallocstats', '_enablelegacywindowsfsenCoding', '_getframe', '_git', '_home', '_xoptions', 'API_version', 'argv', 'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultenCoding', 'getfilesystemencodeerrors', 'getfilesystemenCoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'maxsize', 'maxunicode', 'Meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'set_asyncgen_hooks', 'set_coroutine_wrapper', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions', 'winver']
对于一些相对常用的变量和函数,我们下面再来具体看一下。
argv返回传递给 Python 脚本的命令行参数列表。看下示例:
import sys
if __name__ == '__main__': args = sys.argv print(args) print(args[1])
上面文件名为:test.py,我们在控制台使用命令:python test.py 123 abc 执行一下,执行结果如下:
['test.py', '123', 'abc']123version
返回 Python 解释器的版本信息。
winver返回 Python 解释器主版号。
platform返回 *** 作系统平台名称。
path返回模块的搜索路径列表。
maxsize返回支持的最大整数值。
maxunicode返回支持的最大 Unicode 值。
copyright返回 Python 版权信息。
modules以字典类型返回系统导入的模块。
byteorder返回本地字节规则的指示器。
executable返回 Python 解释器所在路径。
import sysstdout
print(sys.version)print(sys.winver)print(sys.platform)print(sys.path)print(sys.maxsize)print(sys.maxunicode)print(sys.copyright)print(sys.modules)print(sys.byteorder)print(sys.executable)
标准输出。看下示例:
import sysstdin
# 下面两行代码等价sys.stdout.write('Hi' + '\n')print('Hi')
标准输入。看下示例:
import sysstderr
s1 = input()s2 = sys.stdin.readline()print(s1)print(s2)
错误输出。看下示例:
import sysexit()
sys.stderr.write('this is a error message')
退出当前程序。看下示例:
import sysgetdefaultenCoding()
print('Hi')sys.exit()print('Jhon')
返回当前默认字符串编码的名称。
getrefcount(obj)返回对象的引用计数。
getrecursionlimit()返回支持的递归深度。
getsizeof(object[, default])以字节为单位返回对象的大小。
setswitchinterval(interval)设置线程切换的时间间隔。
getswitchinterval()返回线程切换时间间隔。
import sys
print(sys.getdefaultenCoding())print(sys.getrefcount('123456'))print(sys.getrecursionlimit())print(sys.getsizeof('abcde'))sys.setswitchinterval(1)print(sys.getswitchinterval())
总结
以上是内存溢出为你收集整理的Python 基础(二十):sys 模块全部内容,希望文章能够帮你解决Python 基础(二十):sys 模块所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)