📅  最后修改于: 2023-12-03 14:46:04.884000             🧑  作者: Mango
sys
模块是 Python 中的一个内置模块,它提供了与 Python 解释器强相关的函数和变量,可以访问与解释器交互的部分。sys 模块在解释器启动时被导入,并且包含了与解释器紧密相关的变量和功能。
sys.argv
sys.argv
是一个字符串列表,用于存储命令行参数列表。第一个元素是程序本身,随后是命令行参数。例如,以下 Python 文件 test.py
接受两个命令行参数:
import sys
print(sys.argv)
命令行输入:
python test.py arg1 arg2
输出:
['test.py', 'arg1', 'arg2']
sys.path
sys.path
是一个字符串列表,它存储了 Python 模块搜索路径。当你导入一个模块时,Python 解释器搜索该模块所在的路径。可以通过 sys.path
来查看搜索路径。
import sys
print(sys.path)
sys.stdout
和 sys.stderr
sys.stdout
和 sys.stderr
分别是标准输出和标准错误输出文件对象。默认情况下,它们分别指向标准输出和标准错误输出设备(通常是终端)。我们可以重定向这些输出流,使它们输出到文件或其他设备。
import sys
sys.stdout = open('out.log', 'w')
sys.stderr = open('err.log', 'w')
print('Hello, World!')
# out.log
# Hello, World!
# err.log
# [no output]
sys.version
sys.version
是一个 Python 解释器的版本信息字符串。例如:
import sys
print(sys.version)
# 3.9.5 (default, May 12 2021, 11:35:04)
# [Clang 10.0.0 clang-1000.10.44.4]
sys.platform
sys.platform
是一个字符串,表示 Python 解释器所在的平台。它主要用于编写可移植的代码。例如:
import sys
if sys.platform == 'win32':
print('Running on Windows')
elif sys.platform == 'darwin':
print('Running on macOS')
else:
print('Running on Unix')
sys
模块提供了许多与 Python 解释器紧密相关的功能和变量,例如命令行参数、模块搜索路径、标准输出流等等。了解这些功能和变量可以使我们更好地理解 Python 解释器的工作原理,同时也能够帮助我们编写更加高效、可移植的 Python 代码。