python之sys模块

1. python的sys模块介绍

sys是Python内置的一个与Python解释器本身相关的标准库模块。它主要提供了一些访问解释器的信息和功能,如命令行参数、应用程序退出、标准输入输出等

1.1 sys.argv

sys.argv是一个包含命令行参数的列表,第一个参数是运行的文件名,之后的元素是从命令行中输入的按顺序排列的参数。例如运行命令:

​```
python example.py hello world
​```
则sys.argv的值为:['example.py', 'hello', 'world']`

import sys

print(sys.argv)

1.2 sys.exit()

sys.exit()用于退出当前程序,可以指定退出时的返回值。默认返回值为0,表示正常退出;非0表示异常退出或程序出错。传递给sys.exit()的参数是一个字符串,该字符串会输出到stderr中

import sys

try:
    a = int(input('请输入一个整数:'))
    print(10 / a)
except ZeroDivisionError:
    print('出现错误:除数不能为零')
    sys.exit(1)
except ValueError:
    print('出现错误:请输入一个整数')
    sys.exit(2)

1.3 . sys.stdin, sys.stdout, sys.stderr

sys.stdin、sys.stdout、sys.stderr分别代表标准输入、标准输出和标准错误输出,可以通过改变它们的值来重定向标准输入、标准输出和标准错误输出,从而实现一些自定义的输入输出功能。

import sys

old_stdout = sys.stdout

with open('output.txt', 'w') as f:
    sys.stdout = f
    print('Hello, World!')
    sys.stdout = old_stdout

print('已输出到文件 -> output.txt')

上述代码将标准输出重定向到了output.txt文件中,输出的字符串不再在控制台显示,而是保存在文件中。

1.4. sys.path

sys.path是一个Python搜索模块的路径列表,包含了Python搜索时查找模块的所有路径,可以在其中添加自定义路径以实现模块搜索。如果需要在当前脚本中使用其他目录中的模块,可以将该目录添加到sys.path中

import sys

sys.path.append('/path/to/module_dir')

1.5 sys.platform

sys.platform提供了一个字符串,用于表示当前Python解释器所在的平台,如"win32"表示Windows平台,"linux"表示Linux平台,"darwin"表示Mac OS X平台等。

import sys

if sys.platform.startswith('win'):
    print('当前系统为Windows')
elif sys.platform.startswith('linux'):
    print('当前系统为Linux')
elif sys.platform.startswith('darwin'):
    print('当前系统为Mac OS X')

1.6 sys.version

sys.version提供了当前Python解释器的版本信息

import sys

print(sys.version)

1.7 . sys.modules

sys.modules是一个Python已经导入的模块的字典,字典的键是模块名,值是模块对象。在模块被import时,所有导入的模块都会被添加到sys.modules中。这个属性可以用于查看已经导入的模块

import sys

print(sys.modules)
posted @ 2021-11-25 00:37  我不知道取什么名字好  阅读(87)  评论(0编辑  收藏  举报