概念
命令行工具、Shell脚本、系统管理
系统模块
sys模块
映射python运行时操作系统,完成操作系统的工作
平台版本基本信息
- 查看目录
import sys
print(dir(sys))
from pprint import pprint
pprint(dir(sys))
- 平台sys.platform
- 版本sys.version
- 路径sys.path
- 已经载入模块 sys.modules
import sys
print(sys.platform)
print(sys.version)
## 简单的列表告诉我们路径
print(sys.path)
win32
3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)]
[‘F:\teacher\pythonbasetry\day10’, ‘F:\teacher\pythonbasetry’, ‘C:\Users\97501\AppData\Local\JetBrains\Toolbox\apps\PyCharm-P\ch-0\192.7142.42\helpers\pycharm_display’, ‘D:\python\python37.zip’, ‘D:\python\DLLs’, ‘D:\python\lib’, ‘D:\python’, ‘D:\python\lib\site-packages’, ‘C:\Users\97501\AppData\Local\JetBrains\Toolbox\apps\PyCharm-P\ch-0\192.7142.42\helpers\pycharm_matplotlib_backend’]
观察异常细节
sys.exc_info()
最后一个异常具体信息:类型、对象、回溯对象
traceback.print_tb(sys.exc_info()[2])
打印回溯信息列表
import traceback
try:
raise KeyError
except:
## 异常信息:类型,消息,回溯对象
print(sys.exc_info())
traceback.print_tb(sys.exc_info()[2])
(<class ‘KeyError’>, KeyError(), <traceback object at 0x03373350>)
File “F:/teacher/pythonbasetry/day10/init.py”, line 26, in
raise KeyError
命令行参数
sys.argv
import sys
def add():
a = 5
b = 3
return a + b
print(add())
print(sys.argv)
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
cmd
import sys
def add(a,b):
return a + b
a = 0
b = 0
if sys.argv[1]:
a = int(sys.argv[1])
if sys.argv[2]:
b = int(sys.argv[2])
print(add(a,b))
cmd
标准流
sys.stdin 标准输入流
sys.stdout 标准输出流
sys.stderr 标准错误流
>>>import sys
>>>sys.stdout.write('Hello')
Hello5
>>>print('输入');sys.stdin.readline()[:]
输入
>? python
>>>print('输入');x = sys.stdin.readline()[:]
输入
>? python
>>>x
'python\n'
>>>sys.stderr.write('mistake')
mistake7
os模块
跨平台可移植操作系统接口
shell:os.environ
>>>import os
>>>os.environ
environ({
'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\97501\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432':