百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

python内置模块之sys模块,系统操作

cac55 2024-09-29 09:30 28 浏览 0 评论

一、简介

sys 是 Python 标准库中的一个模块,提供了与 Python 解释器及其环境交互的功能

二、属性

  1. sys.argv:包含命令行参数的列表。
  2. sys.version:解释器的版本字符串。
  3. sys.winver:Windows 上的版本。
  4. sys.platform:表示运行解释器的平台。
  5. sys.path:包含模块搜索路径的列表。
  6. sys.maxsize:表示最大整数的平台相关值。
  7. sys.maxunicode:表示最大 Unicode 代码点的平台相关值。
  8. sys.copyright:解释器的版权信息。
  9. sys.meta_path:用于查找和加载模块的元路径查找器列表。
  10. sys.modules:一个字典,包含当前导入的模块
  11. sys.byteorder:表示本机字节顺序的字符串,可能是 "little" 或 "big"。
  12. sys.executable:解释器的绝对路径。
  13. sys.builtin_module_names:一个元组,包含内置模块的名称。
  14. sys.hexversion:解释器的版本号,以十六进制表示。
  15. sys.exec_prefix:安装的执行前缀。
  16. sys.version_info:解释器的版本信息
  17. sys.abiflags:表示解释器的 ABI 标志的字符串。
  18. sys.api_version:解释器的 C API 版本号。
  19. sys.base_exec_prefix:安装的基本执行前缀。
  20. sys.base_prefix:安装的基本前缀。
  21. sys.displayhook:用于显示交互式解释器中计算结果的函数。
  22. sys.dllhandle:解释器的 DLL 句柄。
  23. sys.dont_write_bytecode:一个布尔值,指示是否禁止生成字节码文件。
  24. sys.excepthook:用于处理未捕获异常的函数。
  25. sys.float_info:浮点数的信息,如最大值、最小值和精度。
  26. sys.float_repr_style:浮点数表示的风格,如 "short" 或 "legacy"。
  27. sys.hash_info:哈希算法的信息,如哈希值的大小和最大负载因子。
  28. sys.implementation:解释器的实现。
  29. sys.int_info:整数的信息,如最大值和位数。
  30. sys.last_traceback:最近发生的异常的追溯对象。
  31. sys.last_type:最近发生的异常的类型。
  32. sys.last_value:最近发生的异常的值。。
  33. sys.orig_argv:命令行参数的原始列表。
  34. sys.path_hooks:用于导入模块的路径钩子列表。
  35. sys.path_importer_cache:缓存的路径导入器映射。
  36. sys.platlibdir:标准库的平台相关目录。
  37. sys.prefix:安装的前缀。
  38. sys.ps1:交互式解释器的主提示符。
  39. sys.ps2:交互式解释器的次级提示符。
  40. sys.pycache_prefix:缓存字节码文件的目录前缀。
  41. sys.stdlib_module_names:一个元组,包含标准库模块的名称。
  42. sys.tracebacklimit:追溯对象的显示限制。
  43. sys.unraisablehook:用于处理无法引发异常的函数。。
  44. sys.warnoptions:警告处理器的选项列表。
  45. sys.flags:解释器的命令行标志。

三、函数

  1. sys.is_finalizing():返回一个布尔值,指示解释器是否处于最终化阶段。
  2. sys.breakpointhook(*args, **kws):调用当前的调试钩子函数。默认情况下,它会引发一个 SystemExit 异常,以停止程序执行并进入调试器。
  3. sys.exception():返回当前正在处理的异常对象。如果没有异常正在处理,它将返回 None。
  4. sys.addaudithook(implementation):注册一个审计钩子函数,用于监视解释器的内部操作。审计钩子函数将在特定事件发生时被调用。
  5. sys.audit(event, *args):触发一个审计事件。这个函数用于在解释器的内部操作中发出自定义的审计事件。
  6. sys.call_tracing(func, args):在调用函数 func 时启用函数调用跟踪。它接受一个函数对象和一个参数元组,并返回函数的结果。
  7. sys.callstats():返回一个包含解释器函数调用统计信息的元组。
  8. sys.exc_info():返回当前正在处理的异常的相关信息的元组,包括异常类型、异常实例和追溯对象。
  9. sys.get_asyncgen_hooks():返回一个元组,包含当前设置的异步生成器钩子函数。
  10. sys.get_coroutine_origin_tracking_depth():返回当前协程追踪深度的整数值。
  11. sys.get_coroutine_wrapper():返回当前设置的协程包装器函数。
  12. sys.getallocatedblocks():返回当前分配的内存块数。
  13. sys.getcheckinterval():返回解释器的循环检查间隔,即执行多少个字节码指令后进行一次循环检查。
  14. sys.getdefaultencoding():返回当前默认的字符编码。
  15. sys.getdlopenflags():返回用于 dlopen() 调用的标志。
  16. sys.getfilesystemencodeerrors():返回当前文件系统编码的错误处理方案。
  17. sys.getfilesystemencoding():返回当前文件系统编码的名称。
  18. sys.getprofile():返回当前设置的性能分析器函数。
  19. sys.getrecursionlimit():返回递归调用的最大深度限制。
  20. sys.getrefcount(object):返回对象的引用计数。
  21. sys.getsizeof(object[, default]):返回对象的大小(以字节为单位)。
  22. sys.getswitchinterval():返回线程切换的时间间隔。
  23. sys.gettotalrefcount():返回系统中当前的总引用计数。
  24. sys.gettrace():返回当前设置的追踪函数。
  25. sys.getwindowsversion():返回一个命名元组,包含当前 Windows 系统的版本信息。
  26. sys.intern(string):将字符串放入字符串池中,并返回池中的字符串对象。
  27. sys.set_asyncgen_hooks(firstiter, finalizer):设置异步生成器的钩子函数。
  28. sys.set_coroutine_origin_tracking_depth(depth):设置协程追踪的深度。
  29. sys.set_coroutine_wrapper(wrapper):设置协程的包装器函数。
  30. sys.settrace(tracefunc):设置追踪函数,用于跟踪函数调用和返回。
  31. sys.setprofile(profilingfunc):设置性能分析器函数,用于分析函数的执行时间。
  32. sys.setcheckinterval(interval):设置循环检查的间隔。
  33. sys.setdlopenflags(flags):设置用于 dlopen() 调用的标志。
  34. sys.setrecursionlimit(limit):设置递归调用的最大深度限制。
  35. sys.setswitchinterval(interval):设置线程切换的时间间隔。
  36. sys.exit([arg]):引发一个 SystemExit 异常,用于退出程序。可选参数 arg 表示退出状态码。

四、标准输出流sys.stdout

import sys
temp = sys.stdout##先在ys.stdout = open("student.txt","w")之前定义才有效

sys.stdout.write(str(123))##实现print的功能,print实际上就是外设输入的数据写到了stdout流
sys.stdout = open("student.txt","w")##在创建一个文件并且写入
print("hello world")##在文件中写入的内容
print("word ppt excel")##由于定义了sys.stdout = open("student.txt","w")
##日后的print都会在指定的文件中输出

sys.stdout = temp##恢复默认的映射关系
print("nice")

sys.stdout.write('Hi' + '\n') #标准输出,等价于print
sys.stdout.writelines() #无换行输出
sys.stdout.flush()#缓冲区刷新
  1. sys.stdout.write(str):将字符串 str 写入标准输出流。
  2. sys.stdout.flush():刷新标准输出流,确保所有待处理的输出都被立即发送到输出设备。
  3. sys.stdout.close():关闭标准输出流。
  4. sys.stdout.fileno():返回标准输出流的文件描述符。
  5. sys.stdout.read(size=-1):从标准输出流中读取最多 size 个字节的数据。默认值 -1 表示读取所有可用的数据。
  6. sys.stdout.tell():返回标准输出流的当前位置。
  7. sys.stdout.seek(offset[, whence]):将标准输出流的当前位置设置为 offset。可选参数 whence 指定相对位置的计算方式,默认为 0。
  8. sys.stdout.isatty():返回一个布尔值,指示标准输出流是否连接到一个终端设备。
  9. sys.stdout.readable():返回一个布尔值,指示标准输出流是否可读。
  10. sys.stdout.readline(size=-1):从标准输出流中读取一行文本。可选参数 size 指定最多读取的字节数。
  11. sys.stdout.readlines(hint=-1):从标准输出流中读取多行文本,返回一个包含所有行的列表。可选参数 hint 指定最多读取的字节数。
  12. sys.stdout.seekable():返回一个布尔值,指示标准输出流是否支持随机访问。
  13. sys.stdout.truncate(size=None):将标准输出流截断到指定的字节数 size。默认值 None 表示截断到当前位置。
  14. sys.stdout.writable():返回一个布尔值,指示标准输出流是否可写。
  15. sys.stdout.writelines(lines):将一个包含多行文本的可迭代对象写入标准输出流。
  16. sys.stdout.name:标准输出流的名称。
  17. sys.stdout.encoding:标准输出流的编码。
  18. sys.stdout.mode:标准输出流的打开模式。
  19. sys.stdout.closed:一个布尔值,指示标准输出流是否已关闭。
  20. sys.stdout.buffer:标准输出流的底层缓冲区。
  21. sys.stdout.errors:标准输出流的错误处理方案。
  22. sys.stdout.line_buffering:一个布尔值,指示标准输出流是否启用行缓冲。
  23. sys.stdout.newlines:标准输出流中使用的换行符。

五、标准输入流sys.stdin

import sys


sys.stdin.readline() #标准输入,等价于input
sys.stdin.read() #用来读取输入信息,实现人机交互,ctrl + d才返回要读取的数据
  1. sys.stdin.read(size=-1):从标准输入流中读取最多 size 个字节的数据。默认值 -1 表示读取所有可用的数据。
  2. sys.stdin.close():关闭标准输入流。
  3. sys.stdin.seek(offset[, whence]):将标准输入流的当前位置设置为 offset。可选参数 whence 指定相对位置的计算方式,默认为 0。
  4. sys.stdin.truncate(size=None):将标准输入流截断到指定的字节数 size。默认值 None 表示截断到当前位置。
  5. sys.stdin.tell():返回标准输入流的当前位置。
  6. sys.stdin.write(str):将字符串 str 写入标准输入流。
  7. sys.stdin.fileno():返回标准输入流的文件描述符。
  8. sys.stdin.flush():刷新标准输入流,确保所有待处理的输入都被立即发送到输入设备。
  9. sys.stdin.isatty():返回一个布尔值,指示标准输入流是否连接到一个终端设备。
  10. sys.stdin.readable():返回一个布尔值,指示标准输入流是否可读。
  11. sys.stdin.readline(size=-1):从标准输入流中读取一行文本。可选参数 size 指定最多读取的字节数。
  12. sys.stdin.readlines(hint=-1):从标准输入流中读取多行文本,返回一个包含所有行的列表。可选参数 hint 指定最多读取的字节数。
  13. sys.stdin.seekable():返回一个布尔值,指示标准输入流是否支持随机访问。
  14. sys.stdin.writable():返回一个布尔值,指示标准输入流是否可写。
  15. sys.stdin.writelines(lines):将一个包含多行文本的可迭代对象写入标准输入流。
  16. sys.stdin.buffer:标准输入流的底层缓冲区。
  17. sys.stdin.mode:标准输入流的打开模式。
  18. sys.stdin.encoding:标准输入流的编码。
  19. sys.stdin.name:标准输入流的名称。
  20. sys.stdin.closed:一个布尔值,指示标准输入流是否已关闭。
  21. sys.stdin.errors:标准输入流的错误处理方案。
  22. sys.stdin.line_buffering:一个布尔值,指示标准输入流是否启用行缓冲。
  23. sys.stdin.newlines:标准输入流中使用的换行符。

六、错误输出流sys.stderr

import sys


sys.stderr = open('errorlog_abc.txt','a')
 
sys.stderr.write('this is a error message') #错误输出
  1. sys.stderr.write(str):将字符串 str 写入标准错误流。
  2. sys.stderr.flush():刷新标准错误流,确保所有待处理的错误输出都被立即发送到输出设备。
  3. sys.stderr.fileno():返回标准错误流的文件描述符。
  4. sys.stderr.read(size=-1):从标准错误流中读取最多 size 个字节的数据。默认值 -1 表示读取所有可用的数据。
  5. sys.stderr.writelines(lines):将一个包含多行文本的可迭代对象写入标准错误流。
  6. sys.stderr.writable():返回一个布尔值,指示标准错误流是否可写。
  7. sys.stderr.seekable():返回一个布尔值,指示标准错误流是否支持随机访问。
  8. sys.stderr.seek(offset[, whence]):将标准错误流的当前位置设置为 offset。可选参数 whence 指定相对位置的计算方式,默认为 0。
  9. sys.stderr.readlines(hint=-1):从标准错误流中读取多行文本,返回一个包含所有行的列表。可选参数 hint 指定最多读取的字节数。
  10. sys.stderr.readline():从标准错误流中读取一行文本。
  11. sys.stderr.readable():返回一个布尔值,指示标准错误流是否可读。
  12. sys.stderr.isatty():返回一个布尔值,指示标准错误流是否连接到一个终端设备。
  13. sys.stderr.close():关闭标准错误流。
  14. sys.stderr.tell():返回标准错误流的当前位置。
  15. sys.stderr.truncate(size=None):将标准错误流截断到指定的字节数 size。默认值 None 表示截断到当前位置。
  16. sys.stderr.errors:标准错误流的错误处理方案。
  17. sys.stderr.newlines:标准错误流中使用的换行符。
  18. sys.stderr.line_buffering:一个布尔值,指示标准错误流是否启用行缓冲。
  19. sys.stderr.closed:一个布尔值,指示标准错误流是否已关闭。
  20. sys.stderr.name:标准错误流的名称。
  21. sys.stderr.encoding:标准错误流的编码。
  22. sys.stderr.buffer:标准错误流的底层缓冲区

七、ANSI 转义序列ESC

  1. \033[2J:清除整个屏幕。
  2. \033[K:清除当前光标位置到行尾的内容。
  3. \033[nA:光标上移 n 行。
  4. \033[nB:光标下移 n 行。
  5. \033[nC:光标右移 n 列。
  6. \033[nD:光标左移 n 列。
  7. \033[nE:光标下移 n 行,到开头。
  8. \033[nF:光标上移 n 行,到开头。
  9. \033[nG:光标移到第 n 列。
  10. \033[y;xH 或 \033[y;xf:将光标移动到指定的行 y 和列 x。
  11. \033[s:保存光标位置。
  12. \033[u:恢复光标位置。
  13. \033[?25l:隐藏光标。
  14. \033[?25h:显示光标。
  15. \033[m:设置文本属性,如颜色、样式等。其中 表示属性代码,具体取值可以参考 ANSI 转义序列中的颜色代码。

相关推荐

无力吐槽的自动续费(你被自动续费困扰过吗?)

今天因为工作需要,需要在百度文库上下载一篇文章。没办法,确实需要也有必要,只能老老实实的按要求买了个VIP。过去在百度文库上有过类似经历,当时为了写论文买了一个月的VIP,后面也没有太注意,直到第二个...

百度文库推出“文源计划”创作者可一键认领文档

11月7日,百度文库发布了旨在保护创作者权益的“文源计划”。所谓“文源计划”,即为每一篇文档找到源头,让创作者享受更多的权益。据百度文库总经理李小婉介绍,文源计划分为三部分,分别是版权认证、版权扶持和...

有开放大学学号的同学,百度文库高校版可以用了。

还在网上找百度文库的下载方式,只要从身边的朋友在读开放大学的,那他(她)的学号就可以登陆到国家开放大学图书馆,还使用百度文库高校版来下载。与百度文库稍有不同,但足够使用了。现转国图链接如下:htt...

搜索资源方法推荐(搜索资源的方法)

今天msgbox就要教大家如何又快又准的搜到各类资源,第一点,排除干扰百度搜索出来啊经常前排展示它的产品以及百度文库,如何去除呢?很简单,后面输入空格减号百度文库,比如你搜高等数学百度文库很多,只要后...

一行代码搞定百度文库VIP功能(2021百度文库vip账号密码共享)

百度文库作为大家常用查资料找文档的平台,大多数文档我们都可以直接在百度文库找到,然而百度文库也有让人头痛的时候。好不容易找到一篇合适的文档,当你准备复制的时候他却提示你需要开通VIP才能复制~~~下载...

百度文库文档批量上传工具用户说明书

百度文库文档批量上传工具用户说明书1、软件主要功能1、批量上传文档到百度文库,支持上传到收费、VIP专享、优享以及共享。2、支持自动分类和自动获取标签3、支持多用户切换,一个账户传满可以切换到...

百度文库现在都看不到文档是否上传成功,要凉了吗?

打开知识店铺,百度文库文档里显示都是下载这一按键,上传的文档也看不到是否成功?咋情况,要取消了吗?没通过审核的也不让你删除,是几个意思,想通吃吗?现在百度上传文档也很费劲,有时弄了半天的资料上传审核过...

微信推广引流108式:利用百度文库长期分享软文引流

百度文库相对于百度知道、百度百科来说,操作上没那么多条条框框,规则上也相对好把握些。做一条百度知道所花费的精力一般都会比做一条百度文库的要多些,老马个人操作下来觉得百度文库更好把握。但见仁见智吧,今天...

职场“避雷”指南 百度文库推出标准化劳动合同范本

轰轰烈烈的毕业季结束了,众多应届生在经过了“职场海选”后,已正式成为职场生力军的一员。这一阶段,除了熟悉业务,签订劳动合同、了解职场福利也迅速被提上日程。而随着国人法律意识的增强,百度文库内《劳动合同...

《百度文库》:素材精选宝库(百度文库官网首页)

《百度文库》:独特功能助力选择高质量素材在当今信息爆炸的时代,如何高效地获取并利用有价值的素材成为了许多人面临的挑战。而《百度文库》作为百度公司推出的一款在线文档分享平台,凭借其丰富的资源、强大的功能...

深度整合和开放AI能力 百度文库和网盘推出内容操作系统「沧舟OS」

【TechWeb】4月25日消息,Create2025百度AI开发者大会上,百度文库和百度网盘推出全球首个内容操作系统——沧舟OS。基于沧舟OS,百度文库APP全新上线「GenFlow超能搭子」...

女子发现大二作业被百度文库要求付费下载,律师:平台侵权,应赔偿

近日,28岁的黎女士在百度百科搜索家乡的小地名时,发现了自己在大二完成的课题作业。她继续搜索,发现多个平台收录了该文,比如豆丁网和文档之家等,有的还设置了付费或积分下载。2月15日,九派新闻记者以用户...

2016杀入百度文库的新捷径,只有少数人才知道的喔

百度的产品在SEO优化中的分量真不用多说,其实很多人都像我一样一直在找捷径。但是我经常发现很多人都是在用死方法。比如发贴吧发帖而不知道去申请一个吧主,知道自问自答而不知道去申请一个合作资格。口碑和贴吧...

百度文库付费文档搜索方法(百度文库付费文档搜索方法有哪些)

一直以来,百度文库中无论是个人中心还是个人主页,都没有像淘宝一样的店内搜索功能,连最近新开的知识店铺也没有设计店内搜索功能,这无论是对上传用户还是下载用户都不方便,上传用户想要搜索自己的文档无法办到...

供读者免费使用!泰达图书馆机构版百度文库新年上新啦

在泰达图书馆读者使用百度文库数字资源不需要VIP,免-费-用!惊不惊喜?快来了解一下吧……新年伊始,为满足区域企业、高校、科研院所以及居民群众在教学、科研及学习过程中,对各类文献资源的需求,泰达图书馆...

取消回复欢迎 发表评论: