一、核心知识点梳理
(一)重点内容
- 第三方库 qrcode :用于生成二维码,核心函数
qrcode.make()接收字符串(如 URL)生成二维码对象,save()方法将二维码保存为图片文件(支持 png/jpg 等格式)。 - time 模块 :
time.sleep(seconds)实现程序暂停,参数为秒数,用于控制程序执行节奏。 - os 模块 :
os.system(command)执行系统命令,此处用于直接打开生成的图片文件(跨平台注意:Windows 直接传文件名可打开,Linux/macOS 需加open/xdg-open等命令)。 - 文件操作基础 :生成的文件保存在当前工作目录,可通过
os.getcwd()查看当前路径。
(二)难点解析
- 跨平台兼容性问题 :
- Windows 系统:
os.system("1.png")可直接调用默认图片查看器打开; - Linux 系统:需改为
os.system("xdg-open 1.png"); - macOS 系统:需改为
os.system("open 1.png")。
- Windows 系统:
- qrcode 库依赖 :安装 qrcode 库时可能需依赖 PIL(Pillow)库,需先执行
pip install qrcode[pil],否则生成图片会报错。 - 路径问题 :若指定保存路径(如
save("D:/test/1.png")),需确保目标文件夹已存在,否则会抛出文件不存在异常。
(三)高频考点
qrcode.make()和save()方法的使用格式;time.sleep()的参数类型和功能;os.system()的作用及跨平台适配;- 第三方库的安装方式(
pip install); - 程序执行流程(生成二维码→暂停→打开文件)。
二、练习题
(一)填空题(10 道)
- 生成二维码需导入的第三方库是________。
qrcode.make("内容").save("文件名")中,save方法的作用是________。time.sleep(5)表示程序暂停________秒。- 执行系统命令的 os 模块函数是________。
- 安装 qrcode 库并解决 PIL 依赖的命令是________。
- 在 Linux 系统中,打开 1.png 文件的 os.system 命令是________。
os.getcwd()的功能是________。- 若要将二维码保存到 D 盘 test 文件夹,需确保________已存在。
- 代码
qrcode.make("http://www.baidu.com/")返回的是________对象。 - 使程序暂停的 time 模块函数是________。
(二)选择题(10 道)
-
以下哪个命令可以正确安装 qrcode 并解决图片生成依赖?()A. pip install qrcodeB. pip install qrcode [pil]C. pip install pilD. pip install qrcode-pil
-
time.sleep()的参数类型不能是?()A. 整数 B. 浮点数 C. 字符串 D. 0 -
Windows 系统中,使用 os.system 打开 1.png 的正确写法是?()A. os.system ("open 1.png")B. os.system ("1.png")C. os.system ("xdg-open 1.png")D. os.system ("start 1.png")
-
以下关于 qrcode.make () 的说法错误的是?()A. 可接收字符串作为参数B. 可生成包含 URL 的二维码C. 直接返回图片文件D. 返回的对象可调用 save 方法
-
执行
os.system("1.png")报错,不可能的原因是?()A. 当前目录无 1.png 文件B. 未安装 qrcode 库C. 系统无默认图片查看器D. 文件权限不足 -
以下代码的执行顺序正确的是?()
python
运行
import time import qrcode qrcode.make("test").save("2.png") time.sleep(3) import os os.system("2.png")A. 导入 time→导入 qrcode→生成二维码→暂停→导入 os→打开文件B. 导入 time→导入 qrcode→导入 os→生成二维码→暂停→打开文件C. 导入 time→生成二维码→导入 qrcode→暂停→导入 os→打开文件D. 导入 time→导入 qrcode→生成二维码→导入 os→暂停→打开文件
-
要查看 Python 程序当前的工作目录,应使用哪个函数?()A. os.path () B. os.cwd () C. os.getcwd () D. os.current ()
-
以下哪种情况会导致
qrcode.make().save()报错?()A. 保存路径为不存在的文件夹B. 保存的文件名为 "3.jpg"C. make 的参数为空字符串D. 保存的文件已存在 -
os.system()函数的返回值表示?()A. 命令执行的输出内容B. 命令执行是否成功(0 为成功)C. 被执行文件的路径D. 系统进程 ID -
若要让程序暂停 1.5 秒,正确的写法是?()A. time.sleep (1.5) B. time.pause (1.5)C. sleep (1.5) D. time.wait (1.5)
(三)编程题(10 道)
- 编写程序,生成包含 "我的 Python 笔记" 的二维码,保存为 note.png,暂停 2 秒后打开该文件(适配 Windows 系统)。
- 优化基础代码,实现跨平台打开图片(判断系统类型,Windows 用默认方式,Linux 用 xdg-open,macOS 用 open)。
- 编写程序,生成包含用户输入内容的二维码,文件名自定义(由用户输入),暂停 10 秒后打开。
- 编写程序,批量生成 3 个二维码,分别包含 "URL1: http://www.taobao.com"、"URL2: http://www.jd.com"、"URL3: http://www.pdd.com",保存为 url1.png、url2.png、url3.png,全部生成后暂停 5 秒,依次打开这 3 个文件。
- 编写程序,生成二维码并保存到指定路径(如 D:/qrcode/),若路径不存在则自动创建,暂停 3 秒后打开文件。
- 编写程序,生成二维码后,先打印 "二维码生成成功,5 秒后打开",再暂停 5 秒,最后打开文件。
- 编写程序,接收命令行参数作为二维码内容,生成并保存为 qrcode.png,暂停 1 秒后打开。
- 编写程序,生成包含当前时间(格式:2025-12-10 10:00:00)的二维码,保存为 time_qr.png,暂停 4 秒后打开。
- 编写程序,生成二维码后,检查文件是否存在,若存在则打开,不存在则打印 "文件生成失败"。
- 封装功能为函数:定义
generate_qr(content, filename, sleep_time),实现生成指定内容的二维码、保存为指定文件名、暂停指定时间后打开文件,调用该函数生成包含 "Python 编程" 的二维码,保存为 python.png,暂停 3 秒后打开。
三、答案参考
(一)填空题答案
- qrcode
- 将生成的二维码保存为指定名称的图片文件
- 5
- os.system()
- pip install qrcode[pil]
- os.system("xdg-open 1.png")
- 获取当前工作目录的路径
- D:/test 文件夹
- 二维码(QRCode)
- time.sleep()
(二)选择题答案
1.B 2.C 3.B 4.C 5.B 6.A 7.C 8.A 9.B 10.A
(三)编程题参考代码
第 1 题
python
运行
import qrcode
import time
import os
# 生成二维码
qr_img = qrcode.make("我的Python笔记")
qr_img.save("note.png")
# 暂停2秒
time.sleep(2)
# 打开文件(Windows)
os.system("note.png")
第 2 题
python
运行
import qrcode
import time
import os
import platform
# 生成二维码
qr_img = qrcode.make("http://www.baidu.com/")
qr_img.save("1.png")
time.sleep(5)
# 判断系统类型
sys_type = platform.system()
if sys_type == "Windows":
os.system("1.png")
elif sys_type == "Linux":
os.system("xdg-open 1.png")
elif sys_type == "Darwin": # macOS
os.system("open 1.png")
else:
print("不支持的操作系统")
第 3 题
python
运行
import qrcode
import time
import os
# 获取用户输入
content = input("请输入二维码内容:")
filename = input("请输入保存的文件名(如test.png):")
# 生成并保存二维码
qr_img = qrcode.make(content)
qr_img.save(filename)
# 暂停10秒
time.sleep(10)
# 打开文件(Windows)
os.system(filename)
第 4 题
python
运行
import qrcode
import time
import os
# 定义二维码内容列表
contents = [
"URL1: http://www.taobao.com",
"URL2: http://www.jd.com",
"URL3: http://www.pdd.com"
]
# 批量生成二维码
for i, content in enumerate(contents, 1):
qr_img = qrcode.make(content)
qr_img.save(f"url{i}.png")
# 暂停5秒
time.sleep(5)
# 依次打开文件(Windows)
for i in range(1, 4):
os.system(f"url{i}.png")
time.sleep(1) # 间隔1秒打开
第 5 题
python
运行
import qrcode
import time
import os
# 指定保存路径
save_path = "D:/qrcode/"
# 检查路径是否存在,不存在则创建
if not os.path.exists(save_path):
os.makedirs(save_path)
# 生成并保存二维码
qr_img = qrcode.make("指定路径测试")
file_path = os.path.join(save_path, "test.png")
qr_img.save(file_path)
# 暂停3秒
time.sleep(3)
# 打开文件(Windows)
os.system(file_path)
第 6 题
python
运行
import qrcode
import time
import os
# 生成二维码
qr_img = qrcode.make("Python二维码测试")
qr_img.save("test.png")
# 打印提示信息
print("二维码生成成功,5秒后打开")
# 暂停5秒
time.sleep(5)
# 打开文件(Windows)
os.system("test.png")
第 7 题
python
运行
import qrcode
import time
import os
import sys
# 获取命令行参数(第一个参数是脚本名,第二个是内容)
if len(sys.argv) < 2:
print("请传入二维码内容作为命令行参数")
sys.exit(1)
content = sys.argv[1]
# 生成二维码
qr_img = qrcode.make(content)
qr_img.save("qrcode.png")
# 暂停1秒
time.sleep(1)
# 打开文件(Windows)
os.system("qrcode.png")
第 8 题
python
运行
import qrcode
import time
import os
from datetime import datetime
# 获取当前时间并格式化
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 生成二维码
qr_img = qrcode.make(current_time)
qr_img.save("time_qr.png")
# 暂停4秒
time.sleep(4)
# 打开文件(Windows)
os.system("time_qr.png")
第 9 题
python
运行
import qrcode
import time
import os
# 生成二维码
qr_img = qrcode.make("文件检查测试")
qr_img.save("check.png")
# 暂停3秒
time.sleep(3)
# 检查文件是否存在
if os.path.exists("check.png"):
os.system("check.png")
else:
print("文件生成失败")
第 10 题
python
运行
import qrcode
import time
import os
def generate_qr(content, filename, sleep_time):
"""
生成二维码并打开
:param content: 二维码内容
:param filename: 保存的文件名
:param sleep_time: 暂停时间(秒)
"""
# 生成二维码
qr_img = qrcode.make(content)
qr_img.save(filename)
# 暂停
time.sleep(sleep_time)
# 打开文件(Windows)
os.system(filename)
# 调用函数
generate_qr("Python编程", "python.png", 3)