Python Package:sys
Posted on Wed, 25 Dec 2024 16:12:50 +0800 by LiangMingJian
Python Package:sys
概述
sys 模块为用户提供了一些接口,用于访问 Python 解释器自身使用和维护的变量,以及与解释器进行深度的交互,但需要注意的是 sys 模块针对的是与 Python 解释器的操作,不是主机的操作系统。
在命令行执行时提供参数
argv ( argument value ) 是一个列表对象,存储在命令行调用 Python 脚本时提供的命令行参数。这个列表中第一个参数是被调用的脚本名称,也就是说,python 这个命令本身并没有被加入这个列表,这一点与 C 程序有所不同,C 程序读取命令行参数是从头开始的。
举例来说,在当前目录下新建一个 Python 文件 test.py,其内容为:
import sys
print("The list of command line arguments:\n", sys.argv)
在命令行运行该脚本:
$ python test.py
The list of command line arguments:
['example.py']
加上几个参数运行,可以看到参数被获取并输出
$ python test.py arg1 arg2 arg3
The list of command line arguments:
['example.py', 'arg1', 'arg2', 'arg3']
获取系统路径
sys.path 是一个由字符串组成的列表,其中的各个元素是 Python 搜索模块的路径,Python 在执行 import 时,会根据这个列表中的路径进行查找。
将输出重定向到文件
可以将文件对象赋值给 sys.stdout,来让默认输出指向文件。
f_handler = open('out.log', 'w')
sys.stdout = f_handler
print('hello')
# 你无法在屏幕上看到 hello,因为它被写到 out.log 文件里了