9.3执行其他应用程序
9.3.1命令提示符窗口或终端
命令提示符窗口或终端
终端(Terminal):
广义:指计算机系统中用于与操作系统进行交互的工具,以文本形式显示信息并接收输入。
狭义(macOS/Linux):指代那个黑色的(或自定义颜色)的应用程序窗口,提供了一个命令行界面(CLI)。
命令提示符(Command Prompt / CMD):
这是 Windows 操作系统中默认的命令行解释器。它是一个应用程序(cmd.exe),提供了一个窗口,让用户可以通过键盘输入命令来控制计算机。
注意:虽然大家习惯把那个黑色的窗口叫"CMD",但严格来说,CMD 是运行在窗口中的"Shell"(壳)。
window下常见的"终端"环境
|------------------|-----------------------------------------------------------------------------------------------------------|
| 名称 | 描述 |
| CMD | Windows 传统的命令行解释器,语法较为古老,功能相对基础。 |
| PowerShell | 微软推出的现代化命令行 Shell,功能比 CMD 强大得多,基于 .NET,支持对象流操作。推荐替代 CMD。 |
| Windows Terminal | 这是一个新式窗口应用程序。它本身不是 CMD 也不是 PowerShell,而是一个"容器"。它可以同时托管 CMD、PowerShell、WSL (Linux) 等多个标签页,且支持分屏、美化等功能。 |
提示符窗口中的部分命令
|--------------|---------|
| 命令 | 功能描述 |
| appwiz.cpl | 启动程序和功能 |
| calc | 启动计算器 |
| control | 启动控制面板 |
| shutdown | 自动关机 |
| mspaint | 启动画图程序 |
| rstrui | 系统还原 |
| md | 创建目录 |
| regeditt.exe | 启动注册表 |
| mstsc | 远程桌面连接 |
| osk | 启动屏幕键盘 |
| copy | 复制文件 |
| netstat | 查看网络端口 |
| ping | 测试网络连接 |
| ftp | 上传文件 |
9.3.2system()方法
执行系统命令或外部程序,直接调用命令提示符/终端命令。
特点:
会启动一个子进程执行命令,但无法获取命令执行后的输出结果。
常用于直接启动外部程序、脚本或执行系统操作。
典型场景:自动启动软件、运行其他Python脚本、打开文件等。
python
import os
# 启动计算器
os.system('calc')
# 启动微信(路径根据实际安装位置调整)
os.system(r"D:\Program Files (x86)\Tencent\WeChat\WeChat.exe")
# 运行另一个Python脚本
os.system(r"E:\书代码\第9章\第9章第3个程序.py")
# 开机自动启动软件示例(放在桌面,双击运行)
os.system(r"D:\Program Files (x86)\Tencent\WeChat\WeChat.exe")
os.system(r"E:\工作\工作报表.xlsx")
9.3.3popen()方法
执行系统命令并获取其输出结果,读取方式与操作文件类似。
特点:
返回一个类文件对象,可以通过 read() 、 readlines() 等方法读取命令输出。
参数 'r' 表示以只读模式打开。
典型场景:需要获取命令执行结果并进一步处理的场景。
python
import os
# 执行外部Python脚本并获取输出
a = os.popen(r"E:\书代码\第9章\第9章第3个程序.py", 'r')
print(a.read()) # 读取并打印脚本的输出结果
被调用的示例脚本(第9章第3个程序.py)
python
# 计算 1+2+3+... 直到和超过1000
a = 0
i = 1
while a <= 1000:
a += i
i += 1
print(a) # 输出最终的和
9.5*sys库
9.5.1 获取 Python 信息
核心功能
sys.version:获取 Python 解释器的版本号字符串sys.version_info:获取版本详细信息的元组(主版本、次版本、小版本等)sys.maxsize:获取当前 Python 支持的最大数据长度sys.platform:获取当前操作系统标识sys.copyright:获取 Python 版权信息sys.executable:获取 Python 解释器的路径sys.exec_prefix:获取 Python 安装目录地址
python
import sys
# 获取版本信息
print(sys.version)
print(sys.version_info)
# 版本验证
if (sys.version_info[0] * 10 + sys.version_info[1]) / 10 < 3.7:
print('您的Python版本过低,请安装Python 3.7及以上版本')
sys.exit()
else:
print('您的Python版本正确,代码将继续运行')
# 获取其他信息
print(sys.maxsize)
print(sys.platform)
print(sys.copyright)
print(sys.executable)
9.5.2 退出程序
核心功能
sys.exit([status]):主动退出当前程序status:可选参数,默认None(等价于 0,表示成功退出)- 传入非 0 整数或字符串会被当作报错信息输出
python
import sys
# 版本验证并退出
if (sys.version_info[0] * 10 + sys.version_info[1]) / 10 < 3.8:
sys.exit('您的Python版本过低,请安装Python 3.8及以上版本')
else:
print("您的Python版本正确,代码将继续运行")
print('hello world')
9.5.3 argv 获取输入命令
核心功能
sys.argv:获取命令行参数的列表
sys.argv[0]:默认是当前执行的代码文件路径
sys.argv[1:]:后续元素为用户传入的命令行参数
python
import sys
import os
# 打印命令行参数
print(sys.argv)
# 处理命令行参数
for i in range(1, len(sys.argv)):
if sys.argv[i] == '-h':
print('''本代码的帮助
-h: 用于查询帮助
-a: 用于获取Python的所有关键字
-c: 用于获取Python安装的所有第三方库的列表''')
if sys.argv[i] == '-a':
print('开始查询Python的所有关键字:')
help("keywords")
if sys.argv[i] == '-c':
print('开始查询Python安装的所有第三方库:')
os.system('pip list')
运行方式:在命令提示符执行
python
python 代码路径.py -h
python 代码路径.py -a
python 代码路径.py -c
9.5.4 stdout、stdin 和 stderr
核心功能
sys.stdout:标准输出流,print()函数的底层实现sys.stdin:标准输入流,input()函数的底层实现sys.stderr:标准错误流,用于输出错误信息(通常显示为红色)
python
import sys
# 标准输出
sys.stdout.write('hello')
# 标准输入
a = sys.stdin.readline()
print(a)
# 标准错误
sys.stderr.write('错误,请修改!')
14.操作 HTML 网页
14.1HTML 网页的介绍
HTML 是超文本标记语言,不是编程语言,用于创建网页
网页文件扩展名:.html 或 .htm
每个网页都包含一个基础框架,其他内容在框架内扩展
|--------------------------|--------------------------|
| 标签 | 作用 |
| <!DOCTYPE html> | 声明当前网页为 HTML5 版本,帮助浏览器识别 |
| <html> | 网页根元素,包含所有网页内容 |
| <head> | 网页头部,包含标题、元数据等(不在页面显示 |
| <meta charset="UTF-8"> | 设置字符编码为 UTF-8,避免乱码 |
| <title> | 设置网页标题,显示在浏览器标签上 |
| <body> | 网页正文区域,所有可见内容都在这里 |
14.2 常用标签
14.2.1 标题标签
用 <h1>~<h6> 表示,级别从高到低,字体大小依次减小
html
<body>
<h1>我是标题1</h1>
<h2>我是标题2</h2>
<h3>我是标题3</h3>
<h4>我是标题4</h4>
<h5>我是标题5</h5>
<h6>我是标题6</h6>
</body>
14.2.2 段落标签
用 <p> 表示一个段落,会自动换行并与其他段落产生间距
html
<body>
<h1>我是标题1</h1>
<p>这里可以写一个段落的文字信息</p>
</body>
14.2.3 超链接标签
用 <a> 实现页面跳转,核心属性是 href(目标网址)
html
<body>
<h1>我是标题1</h1>
<p>这里可以写一个段落的文字信息</p>
<a href="https://www.ptpress.com.cn/periodical">链接到人民邮电出版社</a>
</body>
14.2.4 注释标签
html
<body>
<h1>我是标题1</h1>
<!-- 下面的<p>标签被注释了 -->
<p>这里可以写一个段落的文字信息</p>
<!-- -->
<h2>我是标题1</h2>
</body>
14.2.5 标签属性
标签除了名称和内容,还可以附加属性来增强功能
• 常用属性:
◦ class:为元素定义类名(可多个)
◦ id:定义元素的唯一 ID(全局唯一)
◦ style:定义行内样式
◦ title:鼠标悬停时显示的提示文本
html
<body>
<h1>我是标题1</h1>
<p>这里可以写一个段落的文字信息</p>
<h3 id="python" title="我是提示信息" style="color: #799961;">Python办公自动化</h3>
</body>
14.3 设置字体格式
14.3.1 设置字体的字形与效果
|---------|-----|
| 标签 | 效果 |
| <b> | 加粗 |
| <i> | 斜体 |
| <sup> | 上标 |
| <sub> | 下标 |
| <u> | 下划线 |
html
<body>
<h1><i>我是</i><sup>标</sup><sub>题</sub>1</h1>
<p>这里可以写一个<b>段落</b>的<u>文字信息</u></p>
</body>
14.3.2 设置字体颜色
通过 style 属性设置,支持 3 种颜色值:
-
十六进制:#FF0000(红色)
-
RGB 值:rgb(255,0,0)(红色)
-
颜色名:blue(蓝色)
• 还可以设置背景颜色:background: LightSeaGreen
html
<body>
<h1 style="color:rgb(168,168,168)">我是标题1</h1>
<p style="color:#FF0000">这里写一个段落的文字信息</p>
<p style="color:blue">我是第二段内容</p>
<h2 style="background: LightSeaGreen; color:blue">我是标题2</h2>
</body>
14.3.3 设置字体大小
通过 style 属性的 font-size 设置,单位可以是 pt (点)、cm (厘米)、in(英寸)、mm (毫米)等
html
<body>
<h1 style="font-size:38pt">我是标题1</h1>
<p style="font-size:1cm">我们一起学习Python办公自动化</p>
</body>
14.4 添加多媒体
14.4.1 添加网页图片
使用 <img> 标签(单标签),核心属性:
src:图片的 URL(必填)alt:图片加载失败时的提示文字width/height:图片宽高(单位 px,只填一个会按比例缩放)
html
<body>
<h1>我是标题1</h1>
<img src="https://cdn.ptpress.cn/uploadimg/Material/978-7-115-41773-2/72jpg/41773_300.jpg"
alt="图片丢失了" width="200px">
</body>
14.4.2 添加网页音频
使用 <audio>标签,核心属性:
src:音频文件 URLcontrols:显示播放控件(暂停、播放、音量等)type:音频类型(如audio/mpeg对应.mp3)
html
<body>
<h1>我是标题1</h1>
<audio controls="controls" src="音乐.mp3">音乐丢失了
</body>
14.4.3 添加网页视频
使用 <video> 标签,核心属性:
src:视频文件 URL
controls:显示播放控件
width/height:视频宽高
autoplay:自动播放
loop:循环播放
muted:默认静音
html
<body>
<h1>播放视频啦</h1>
<video src="https://视频网址.mp4" controls="controls" width="500"></video>
</body>