企业网站建设的基本内容,岐山县住房和城市建设局网站,网站优化培训班,网站怎么做下拉刷新页面数据概述 在上一节#xff0c;我们介绍了Python的os模块#xff0c;包括#xff1a;os模块中一些常用的属性和函数。在这一节#xff0c;我们将介绍Python的sys模块。sys模块提供了访问解释器使用或维护的变量#xff0c;以及与解释器进行交互的函数。 通俗来讲#xff0c;sy…概述 在上一节我们介绍了Python的os模块包括os模块中一些常用的属性和函数。在这一节我们将介绍Python的sys模块。sys模块提供了访问解释器使用或维护的变量以及与解释器进行交互的函数。 通俗来讲sys模块负责程序与Python解释器的交互提供了一系列的函数和变量用于操控Python运行时的环境。比如它提供了一些与Python解释器交互的方法包括获取命令行参数、处理Python解释器的退出等。 下面我们将逐一介绍sys模块中一些常用的属性和函数。 sys.version属性 sys.version是一个包含Python解释器版本号和编译版本号等额外信息的字符串它会在Python交互式解释器启动时显示。
import sys# 输出3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)]
print(sys.version) sys.version_info属性 sys.version_info是一个元组包含了五个部分的信息分别为主版本号、次版本号、微版本号、发行级别alpha、beta、candidate 或 final和序列号。比如对于Python 3.8.5sys.version_info将返回(3, 8, 5, final, 0)。返回的元组可以用于比较Python版本。
import sys# 输出sys.version_info(major3, minor11, micro4, releaselevelfinal, serial0)
print(sys.version_info)
if sys.version_info (3, 0):print(can only run in Python 3.x)sys.exit()
else:print(Python version passed) sys.platform属性 sys.platform是一个字符串用于表示Python解释器正在其上运行的平台。如果你的Python解释器运行在Windows上sys.platform的值将是win32如果你的Python解释器运行在Linux或Mac OS上sys.platform的值将是darwin或linux2。 该属性可以用来编写依赖于特定操作系统的代码比如如果我们需要使用一些只在Windows上可用的库或者功能可以先检查sys.platform的值然后根据需要选择使用哪个库或者功能或者给用户一个提示让他们知道程序无法在当前的操作系统上运行。
import sys# 输出win32
print(sys.platform) sys.path属性 sys.path是一个Python列表包含了许多目录。当我们尝试导入一个模块时Python会在这个列表中寻找那个模块。该列表的初始值来自于以下三个方面输入脚本的目录、PYTHONPATH环境变量、安装的默认路径。可以修改这个列表以便Python能在我们指定的目录中查找模块。比如如果模块在一个非标准的目录中我们可以将那个目录添加到sys.path中这样Python就能找到它了。 注意修改sys.path只会影响当前Python进程的行为不会影响其他进程或Python解释器。
import sys# 输出[F:\\,
# C:\\Users\\H\\AppData\\Local\\Programs\\Python\\Python311\\python311.zip,
# C:\\Users\\H\\AppData\\Local\\Programs\\Python\\Python311\\DLLs,
# C:\\Users\\H\\AppData\\Local\\Programs\\Python\\Python311\\Lib,
# C:\\Users\\H\\AppData\\Local\\Programs\\Python\\Python311,
# C:\\Users\\H\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages]
print(sys.path) sys.argv属性 sys.argv是一个Python列表包含了命令行参数。该列表的第一个元素是脚本名也就是被调用的程序的名字其余的元素是从命令行传递给程序的参数。比如如果运行python test.py arg1 arg2那么sys.argv将会是[test.py, arg1, arg2]。我们可以使用sys.argv来获取命令行参数并根据需要对其进行处理。
import sys# 输出[F:\\test.py]
print(sys.argv) sys.stdout属性 sys.stdout是一个Python文件对象代表了系统的标准输出流。可以像操作文件一样操作sys.stdout比如写入文本。写入sys.stdout的内容将会被输出到控制台也就是终端或者命令行窗口。注意虽然我们可以像操作文件一样操作sys.stdout但是并不建议这样做因为这可能会导致一些难以预料的问题。如果需要输出文本最好使用print()函数而不是直接操作sys.stdout。
import sys# 输出Hello, CSDN
sys.stdout.write(Hello, CSDN\n) sys.maxsize属性 sys.maxsize是一个Python整数用于表示Python可以处理的最大整数。这个值是根据Python的位数和配置来确定的在32位Python中sys.maxsize的值是2147483647也就是2的31次方减1在64位Python中sys.maxsize的值是9223372036854775807也就是2的63次方减1。sys.maxsize可以用于检查一个整数是否会在加法或乘法等操作后溢出如果你尝试添加一个大于sys.maxsize的数到一个整数Python会抛出一个OverflowError错误。
import sys# 输出9223372036854775807
print(sys.maxsize) sys.exit()函数 sys.exit()函数用于引发一个系统退出它接受一个可选参数这个参数可以是一个整数或者一个异常对象。如果参数是一个整数那么这个整数会被用作Python解释器的退出状态如果参数是一个异常对象那么这个异常会被抛出如果没有给这个函数提供任何参数或者参数是None那么Python解释器会退出并且返回状态码0。该函数通常在想要立即结束程序或者在程序中处理致命错误时使用。
import sysa 10
if a 6:sys.exit(0)
else:print(a) sys.getfilesystemencoding()函数 sys.getfilesystemencoding()函数用于返回文件系统的默认编码该函数取代了sys.getdefaultencoding()函数。
import sys# 输出utf-8
print(sys.getfilesystemencoding()) sys.getrecursionlimit()函数 sys.getrecursionlimit()函数用于返回Python解释器当前的递归深度限制。这个限制是一种防止无限递归导致程序崩溃的保护机制。在Python中每次函数调用都会在调用栈中增加一个新的栈帧每个栈帧都会占用一些内存。如果函数调用层次过深就会导致调用栈溢出程序崩溃。注意虽然可以使用sys.setrecursionlimit(limit)来提高这个限制但是一般不建议这么做因为这可能会导致大量的内存被占用甚至导致程序崩溃。
import sys# 输出1000
print(sys.getrecursionlimit())