📜  Python Sys模块(1)

📅  最后修改于: 2023-12-03 14:46:04.884000             🧑  作者: Mango

Python Sys模块

简介

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.stdoutsys.stderr

sys.stdoutsys.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 代码。