网站搜索

学习Python系统模块


在本文中,我们将了解Python Sys 模块。有些变量和函数是由解释器维护的,sys 模块提供了一种与它们交互的方式。这些变量在解释器存活之前一直可用。我们将了解一些常用的 sys 函数。

要使用sys模块,您必须首先导入模块

sys.version – 它存储有关当前 python 版本的信息。

python3
>>> import sys
>>> sys.version

sys.path – 路径变量以字符串列表的形式存储目录路径。每当您使用相对路径导入模块或运行程序时,Python 解释器都会使用路径变量搜索必要的模块或脚本。

路径索引存储包含用于在索引“”处调用Python解释器的脚本的目录。如果以交互方式调用解释器或者从标准输入读取脚本,则 path[0] 将为空字符串。

>>> sys.path

调用脚本时,path[0] 存储目录路径。

vim 1.py
python3 1.py

如果自定义目录中有模块,则可以使用 path.append() 方法将目录路径添加到路径变量中(因为路径是一个列表对象,我们使用列表方法“追加”)。

python3
>>> import sys
>>> sys.path
>>> sys.path.append('/root/test/')
>>> sys.path

sys.argvargv 用于将运行时参数传递给 Python 程序。 Argv 是一个列表,它将脚本名称存储为第一个值,后跟我们传递的参数。 Argv 值存储为字符串类型,您必须根据需要显式转换它。

>>> sys.argv

当您运行下面的代码片段时,范围函数的最终值通过 sys.argv[1] 作为 10 传递,并且还传递一些其他值来打印 argv 列表程序结束时的值。

#!/usr/bin/python3

import sys

for x in range(1,int(sys.argv[1])):
    print(x)
    
Print all the arguments passed
print("Arguments passed:",sys.argv)

sys.executable – 打印 python 解释器二进制文件的绝对路径。

>>> sys.executable
'/usr/bin/python3'

sys.platform – 打印操作系统平台类型。当您将程序作为依赖于平台的方式运行时,此功能将非常有用。

>>> sys.platform
'linux'

sys.exit – 通过引发SystemExit(status)退出解释器。默认情况下,状态被认为是并且被认为是成功的。我们可以使用整数值作为退出状态或其他类型的对象,例如字符串(“失败”),如下例所示。

示例下方有一个代码片段用于检查平台是否为 Windows,然后运行代码。如果没有引发 exit() 函数。

#!/usr/bin/python3

import sys

if sys.platform == 'windows':  # CHECK ENVIRONMENT
    #code goes here
    pass
else:
    print("This script is intended to run only on Windows, Detected platform: ", sys.platform)
    sys.exit("Failed")

sys.maxsize – 这是一个整数值,表示变量可以保存的最大值。

On a 32-bit platform it is 2**31 - 1 
On a 64-bit platform it is 2**63 - 1
包起来

我们已经看到了sys模块的一些重要功能,还有更多的功能。在我们推出下一篇文章之前,您可以在此处阅读有关 sys 模块的更多信息。