1.Python模块之 sys 模块
2.python模块sys(常用功能)
3.从零开始学 Python 之标准库之 sys 模块详解
4.软件测试/测试开发丨Python 内置库 sys 学习笔记分享
5.30天拿下Python之sys模块
6.Python入门:常用模块—sys模块
Python模块之 sys 模块
sys 模块是 Python 标准库中的一个重要模块,它提供了与 Python 解释器交互的方法。
一、常见用法介绍:
1. sys.argv:这个方法返回命令行参数列表,第一个元素是脚本名称,其余元素是cdn服务器源码传递给脚本的参数。
2. sys.path:这个变量包含 Python 搜索模块的路径列表。
3. sys.exit(n):这个方法用来终止程序执行,n 是可选的,表示退出状态码。
ps : exit() 运用在交互式 shell 中,而 sys.exit 主要用于程序中,二者功能类似。
4. sys.version:这个变量返回 Python 解释器的版本信息。
5. sys.platform:这个变量返回当前操作系统的类型,例如 'win', 'linux', 'darwin' 等。
6. sys.maxint 与 sys.maxsize:这两个变量表示整数类型能表示的最大值。
7. sys.getdefaultencoding( ):这个方法返回当前使用的默认编码。
8. sys.getfilesystemencoding( ):这个方法返回文件系统使用的编码。
9. sys.getrecursionlimit( ):这个方法返回当前递归限制的值。
. sys.setrecursionlimit( ):这个方法允许设置最大递归深度。
. sys.stdin.readline( ):这个方法从标准输入读取一行数据。
. sys.stdout.write("xxx"):这个方法向标准输出写入字符串。
二、模拟进度条打印:
python模块sys(常用功能)
Python模块sys提供了对Python解释器相关变量和方法的访问,适用于不同操作系统的环境。以下是sys模块的一些常用功能及其用法,助于提升编程效率。
功能一:获取命令行参数,参数为程序名,用于启动程序时接收参数信息。
功能二:sys.path用于获取Python的环境变量,便于添加需要搜索的文件路径。
功能三:sys.stdin.read()读取输入信息,实现人机交互,直到遇到ctrl + d才返回数据。
功能四:sys.stdin.readline()读取标准输入的一行,包括回车符。游戏怎么修改源码
功能五:sys.stdout.write(s)将指定字符串打印到屏幕,返回打印的字符数。
功能六:sys.version显示Python解释器版本信息。
功能七:sys.getrecursionlimit()获取Python的最大递归深度,预设值为。
功能八:sys.exit(n)用于程序退出,当n值为0时视为正常退出。
功能九:sys.builtin_module_names获取Python解释器导入的模块列表。
从零开始学 Python 之标准库之 sys 模块详解
“sys”即“system”,系统之意。该模块提供了一些接口,用于访问 Python 解释器自身使用和维护的变量,同时模块中还提供了一部分函数,可以与解释器进行比较深度的交互。
“argv”即“argument value”的简写,是一个列表对象,其中存储的是在命令行调用 Python 脚本时提供的“命令行参数”。这个列表中的第一个参数是被调用的脚本名称,也就是说,调用 Python 解释器的“命令”本身并没有被加入这个列表当中。这个地方要注意一下,因为这一点跟 C 程序的行为有所不同,C 程序读取命令行参数是从头开始的。
在《 第天: Python 标准库之 os 模块详解》中,我们提到过“查看模块中的platform属性可以得到关于运行平台更详细的信息”,这里我们就来试试:
在 Linux 上:
比较一下platform的结果,不难发现,sys的信息更加准确。
“byteorder”即“字节序”,指的是在计算机内部存储数据时,数据的低位字节存储在存储空间中的高位还是低位。 “小端存储”时,数据的低位也存储在存储空间的低位地址中,此时sys的值为little。如果不注意,在按地址顺序打印内容的时候,可能会把小端存储的诱惑充值网站源码内容打错。当前大部分机器都是使用的小端存储。
所以不出意外的话,你的机器上执行下述交互语句也应当跟我的结果一样:
而另外还存在一种存储顺序是“大端存储”,即数据的高位字节存储在存储空间的低位地址上,此时sys的值为big。
这种方式看起来好像很合理也很自然,因为我们一般在书面表示的时候都将低位地址写在左边,高位地址写在右边,大端存储的顺序就很符合人类的阅读习惯。但实际上对机器而言,内存地址并没有左右之分,所谓的“自然”其实并不存在。
该属性是一个字符串,在正常情况下,其值是当前运行的 Python 解释器对应的可执行程序所在的绝对路径。
比如在 Windows 上使用 Anaconda 安装的 Python,该属性的值就是:
该属性是一个字典,包含的是各种已加载的模块的模块名到模块具体位置的映射。通过手动修改这个字典,可以重新加载某些模块;但要注意,切记不要大意删除了一些基本的项,否则可能会导致 Python 整个儿无法运行。
该属性是一个字符串元组,其中的元素均为当前所使用的的 Python 解释器内置的模块名称。注意区别sys和builtin_module_names——前者的关键字列出的是导入的模块名,而后者则是解释器内置的模块名。
Python 的标准输入通道。通过改变这个属性为其他的类文件(file-like)对象,可以实现输入的重定向,也就是说可以用其他内容替换标准输入的内容。所谓“标准输入”,实际上就是通过键盘输入的字符。在示例中,我们尝试把这个属性的值改为一个打开的文件对象,其中包含如下的内容:
由于使用的就是标准输入流,因此通过修改的值,我们使用老朋友函数,在线erp系统源码也可以实现对文件内容的读取,程序运行效果如下:
与上一个“标准输入”类似,则是代表“标准输出”的属性。通过将这个属性的值修改为某个文件对象,可以将本来要打印到屏幕上的内容写入文件。比如运行示例程序,用来临时生成日志也是十分方便的:
与前面两个属性类似,只不过该属性标识的是标准错误,通常也是定向到屏幕的,可以粗糙地认为是一个输出错误信息的特殊的标准输出流。由于性质类似,因此不做演示。此外,模块中还存在几个“私有”属性:,,。这几个属性中保存的就是最初定向的“标准输入”、“标准输出”和“标准错误”流。在适当的时侯,我们可以借助这三个属性将、和恢复为初始值。
和是成对的。前者可以获取 Python 的最大递归数目,后者则可以设置最大递归数目。因为初学阶段很少用到,因此只做了解。
在《 第天:Python 之引用》中我们其实已经用到过这个函数,其返回值是 Python 中某个对象被引用的次数。关于“引用”的知识可以回去看看这篇文章。
这个函数的作用与 C 语言中的运算符类似,返回的是作用对象所占用的字节数。比如我们就可以看看一个整型对象在内存中的大小:
注意,在 Python 中,某类对象的大小并非一成不变的:
这两个属性分别给出了 Python 中两个重要的数据类型的相关信息。其中的值为:
在文档中的解释为:指的是 Python 以 2 的次方为基来表示整数,也就是说它是“2 的次方进制”的数。这样的在线生成网站源码数每一个为都用 C 类中的 4 个字节来存储。
换句话说,每“进 1 位”(即整数值增加2 的次方),就需要多分配 4 个字节用以保存某个整数。因此在的示例中,我们可以看到和之间,虽然本身只差了 1,但是所占的字节后者却比前者多了 4。
而的值则是:
其中各项具体的含义就不在这里继续展开了,感兴趣的同学可以参看文档和《深入理解计算机系统》等讲解组成原理的书。
接下来让我们放松一下。每次打开 Python 的交互式界面,我们都会看到一个提示符。不知道你有没有想过要把这个东西换成另外的什么呢?反正我没想过哈哈——至少在文档中看到这两个属性之前,我确实没有想过。哪两个属性呢?就这俩货:和。所谓“ps”,应当是“prompts”的简写,即“提示符”。这两个属性中,代表的是一级提示符,也就是进入 Python 交互界面之后就会出现的那一个;而第二个则是二级提示符,是在同一级内容没有输入完,换行之后新行行首的提示符。当然,两个属性都是字符串。好了,知道怎么回事儿就好办了。现在我们就来一个:
提示符已经被改变了,当然,有点长,不大美观哈哈。咱们换一下:
有点儿意思吧?注意不要忘了在字符串最后加个空格,否则提示符就会和你输入的内容混杂在一起了,会十分难看的哟~ 示例代码: python--days
软件测试/测试开发丨Python 内置库 sys 学习笔记分享
在软件测试和测试开发领域,Python 内置库 sys 是一个非常实用的工具。本文将分享 Python 内置库 sys 的学习笔记,帮助开发者更高效地进行代码调试和管理。
sys 概述
sys 是 Python 的系统级模块,它提供了一系列用于访问 Python 解释器的内部状态和实现细节的函数和属性。通过 sys 模块,开发者可以获取当前程序的运行环境信息、参数、以及与标准输入输出相关的功能。
sys 使用
在实际开发中,sys 模块提供了多种功能,使开发者能够更好地管理和控制程序的执行流程。首先,sys.argv 可以获取命令行参数,这对于需要从命令行接收参数的应用程序非常有用。
其次,sys.exit() 可以让程序在遇到问题时优雅地退出,通过传递一个退出代码,可以向调用者提供错误状态信息。
sys 常用属性
sys 模块包含了一些属性,用于获取和设置 Python 解释器的内部状态。例如,sys.platform 可以获取当前操作系统的信息,而 sys.version 则显示 Python 解释器的版本信息。
sys 常用方法
除了属性,sys 模块还提供了一些方法,如 sys.stdin、sys.stdout 和 sys.stderr,它们分别代表程序的输入、标准输出和错误输出流。通过这些方法,开发者可以实现与程序外部交互的灵活控制,例如重定向输出或捕获异常信息。
总之,sys 模块为 Python 开发者提供了一系列实用的工具,帮助他们更好地管理程序的运行环境和执行流程。通过学习 sys 的用法,开发者可以提升代码的可维护性和程序的健壮性。
天拿下Python之sys模块
在上一节中,我们探讨了Python的os模块,本节将转向sys模块。sys模块主要负责程序与Python解释器之间的交互,提供了一系列函数和变量,用于操控Python的运行环境。比如,它允许我们获取命令行参数、处理Python解释器的退出等。
接下来,我们将详细介绍sys模块中的一些常用属性和函数。
sys.version属性:这是一个字符串,包含了Python解释器的版本号和编译版本号等信息,通常在Python交互式解释器启动时显示。
sys.version_info属性:这是一个元组,包含五个部分的信息,包括主版本号、次版本号、微版本号、发行级别和序列号。例如,对于Python 3.8.5,sys.version_info将返回(3, 8, 5, 'final', 0)。这个元组可以用于比较Python版本。
sys.platform属性:这是一个字符串,表示Python解释器正在其上运行的平台。例如,在Windows上,sys.platform的值将是'win';在Linux或Mac OS上,sys.platform的值将是'darwin'或'linux2'。这个属性可以用于编写依赖于特定操作系统的代码。
sys.path属性:这是一个Python列表,包含了许多目录。当尝试导入一个模块时,Python会在这个列表中寻找那个模块。这个列表的初始值来自于输入脚本的目录、PYTHONPATH环境变量和安装的默认路径。可以修改这个列表,以便Python能在指定目录中查找模块。
sys.argv属性:这是一个Python列表,包含了命令行参数。该列表的第一个元素是脚本名,其余元素是从命令行传递给程序的参数。我们可以使用sys.argv来获取命令行参数,并根据需要进行处理。
sys.stdout属性:这是一个Python文件对象,代表了系统的标准输出流。可以像操作文件一样操作sys.stdout,但通常建议使用print()函数输出文本。
sys.maxsize属性:这是一个Python整数,表示Python可以处理的最大整数。这个值是根据Python的位数和配置确定的,用于检查整数是否会在加法或乘法等操作后溢出。
sys.exit()函数:用于引发系统退出,可以接受一个可选参数,这个参数可以是一个整数或一个异常对象。如果没有提供参数,Python解释器将退出,并返回状态码0。
sys.getfilesystemencoding()函数:用于返回文件系统的默认编码。
sys.getrecursionlimit()函数:用于返回Python解释器当前的递归深度限制,防止无限递归导致程序崩溃。
Python入门:常用模块—sys模块
在Python编程中,`sys`模块是一个非常实用的工具,它提供了许多与Python解释器交互和管理的功能。让我们深入了解这个模块的几个关键操作:
- 首先,`sys.argv`返回命令行参数的列表,第一个元素通常代表程序的执行路径。
- `sys.exit()`用于退出程序,正常情况下参数为`0`表示成功退出。
- `sys.version`用于获取当前Python解释器的版本信息。
- `sys.maxint()`提供Python中整数的最大值,但请注意在Python3中已被移除,改用其他方式处理。
- `sys.path`包含模块的搜索路径,通常基于`PYTHONPATH`环境变量。
- `sys.platform`提供操作系统平台的名称,这对于跨平台操作很有帮助。
- `sys.stdout.write()`在Python 3中用于标准输出,用于创建进度条,但在3.x版本中,通常使用`print()`函数。
- `sys.stdin.readline()`获取标准输入,但需要注意在Python 3中应去掉末尾的换行符。
对于高级文件操作,`shutil`模块提供了丰富的方法。例如,`shutil.copyfileobj()`用于复制文件内容,`shutil.copyfile()`和`shutil.copy2()`分别复制文件和状态,`shutil.copytree()`则用于递归地复制文件夹。`shutil.rmtree()`用于删除文件夹,`shutil.move()`用于移动文件或文件夹,而`shutil.make_archive()`则用于创建压缩包,如zip或tar。
`zipfile`和`tarfile`模块负责具体的压缩和解压缩操作,如`ZipFile`用于处理zip文件,`tarfile`则处理tar文件。
通过这些`sys`和`shutil`模块,你可以有效地管理Python程序,处理文件和文件夹,以及打包和解压缩数据。在实际编程中,它们是不可或缺的实用工具。
详解Python中sys模块的功能与应用
本文深入解析了Python标准库中sys模块的关键功能和应用场景,由华为云社区的作者柠檬味拥抱分享。
sys模块作为Python中的实用工具,包含了一系列与解释器交互的函数和变量。首先,sys.argv允许获取命令行参数,这对于用户输入处理至关重要。通过sys.exit,我们能够控制程序在遇到错误或特定条件时的退出机制,指定退出状态。
sys.path则管理模块的搜索路径,使我们能够定制Python寻找模块的顺序。系统平台信息sys.platform和Python版本信息sys.version提供关于运行环境和版本的详细数据。
接下来,sys.stdin、stdout和stderr控制标准输入、输出和错误流,可以灵活重定向数据。sys.modules允许检查已导入的模块,sys.getsizeof则帮助我们监测内存使用情况。
sys.platform、sys.version和sys.getfilesystemencoding分别提供系统信息、Python版本和文件系统编码信息。sys.setrecursionlimit与sys.getrecursionlimit则用于递归深度的控制。sys.exc_info则在异常处理中显示详细的异常信息。
对于更高级的功能,如sys.settrace用于追踪函数调用,sys.getasyncgenhooks和sys.getcoroutinewrapper涉及异步生成器和协程的控制。此外,内存管理、内存块数量和异步生成器终结器的设置也是sys模块的特色。
总结来说,sys模块涵盖了从基础操作到高级调试的广泛功能,熟练掌握这些功能,可以提升编程效率和程序性能。无论是控制命令行参数,还是深入理解Python解释器内部机制,sys模块都是不可或缺的工具。希望这篇文章能帮助读者深入理解并有效应用sys模块。