sys 模块

sys --系统相关的参数和函数

常用方法

1、sys.argv --获取命令行参数,返回值是List,第一个元素是程序本身

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import sys
for i in sys.argv:
    print(i)

结果:
linux-ko5m:/home/python/test # ./test.py 1 2 3
./test.py
1
2
3

2、sys.exit(n) --程序退出,如果是正常退出是sys.exit(0)

#!/usr/bin/python3
# -*- coding: UTF-8 -*-

import sys
print('Hello')
sys.exit(0)
print('World')

结果:
linux-ko5m:/home/python/test # ./test.py
Hello

3、sys.path --返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

>>> import sys
>>> sys.path
['', '/usr/lib/python34.zip', '/usr/lib64/python3.4', '/usr/lib64/python3.4/plat-linux', '/usr/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4/site-packages', '/usr/lib64/python3.4/_import_failed', '/usr/lib/python3.4/site-packages']
>>> 

4、sys.modules.keys() --返回所有已经导入的模块列表

>>> import sys
>>> sys.modules.keys()
dict_keys(['_sitebuiltins', 'atexit', '_stat', '_codecs', 'errno', 'encodings.aliases', '_bootlocale', '_frozen_importlib', 'zipimport', 'io', '_thread', '_sysconfigdata', 'marshal', '_collections_abc', 'site', '_warnings', 'abc', 'builtins', 'rlcompleter', 'sysconfig', '_weakrefset', 'genericpath', 'posixpath', 'posix', 'sys', '_locale', 'stat', 'readline', '_imp', 'signal', 'encodings', '_weakref', '__main__', 'codecs', 'encodings.latin_1', '_io', 'os.path', 'os', 'encodings.utf_8'])

5、sys.version --获取Python解释程序的版本信息

>>> import sys
>>> sys.version
'3.5.3 (default, Sep 27 2018, 17:25:39) \n[GCC 6.3.0 20170516]'

6、sys.exc_info() --获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

>>> sys.exc_info()
(None, None, None)

7、sys.maxsize --最大的Int值

>>> import sys
>>> sys.maxsize
9223372036854775807

8、sys.maxunicode --最大的Unicode值

>>> sys.maxunicode
1114111

9、sys.platform --返回操作系统平台名称

>>> import sys
>>> sys.platform
'linux'

10、sys.stdout --标准输出

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import sys
f = open('log.txt', 'a')
__console__ = sys.stdout
sys.stdout = f
print('Hello World!')
sys.stdout = __console__
print('Hello Console')

结果:
linux-ko5m:/home/python/test # ./test.py
Hello Console
linux-ko5m:/home/python/test # cat log.txt
Hello World!

11、sys.stdin --标准输入

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import sys
name = sys.stdin.readline()
print('输出:', name)

结果:
linux-ko5m:/home/python/test # ./test.py
root
输出: root

12、sys.stderr --错误输出

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import sys
f = open('error.log', 'a')
sys.stderr = f
int('aaa')

结果:
linux-ko5m:/home/python/test # ./test.py
linux-ko5m:/home/python/test # cat error.log
Traceback (most recent call last):
File "./test.py", line 6, in
int('aaa')
ValueError: invalid literal for int() with base 10: 'aaa'

posted @ 2020-05-20 23:37  静心&得意  阅读(164)  评论(0编辑  收藏  举报