Skip to content

Python 代码案例

对课堂上有一定问题的案例经行总结

代码链接

qrcode 二维码生成

  1. 先通过 pip 下载
    1. 最好去官网里面搜索 qrcode
    2. 复制下载链接:
    bash
    pip install "qrcode[pil]"
  2. 使用
    Python
    import qrcode
    
    # 制造二维码
    ret = qrcode.make("https://gitee.com/wunameor/bite-code/blob/master/python_basic/PythonProject/code63.py")
    ret.save('code63-url.png') # 保存二维码
  3. 结果 (tip: 陌生的二维码不要扫)

excel 表格操作

  1. 下载资源

    1. 通过 pip 下载
    bash
    pip install xlrd==1.2.0 # 版本用 1.2.0 太高的不支持 xlsx
    1. 相关文件链接:
    • 预览:
      班级Id用户Id姓名成绩
      11011张三100
      110111李四110
      100112王五90
      110113小明80

    点击下载 Excel 测试表

  2. 使用:

    Python
    import xlrd
    
    # 读取到文件
    file = xlrd.open_workbook('./code64-test.xlsx')
    
    # 获取到表格
    table = file.sheet_by_index(0)
    
    count = 0
    total_score = 0
    for index in range(1, table.nrows):
        # 第 index 行 第 0 列
        class_id = table.cell_value(index, 0)
        if class_id == 1101:
            total_score += table.cell_value(index, 3)
            count += 1
    
    print(f'平均分为 {total_score / count}') # 平均分为 96.66666666666667

音频播放

  1. 下载

    1. pip 下载
      bash
      pip install pynput==1.6.8
      pip install playsound==1.2.2
    2. 点击下载 音频 测试文件
  2. 编写代码

    Python
    import random
    from threading import Thread
    
    from playsound import playsound
    from pynput import keyboard
    
    count = 0
    
    paths = ['./sound/1.mp3', './sound/2.mp3', './sound/3.mp3']
    
    def onRelease(key):
        print(key)
        global count
        count += 1
        if count % 10 == 0:
            index = random.randint(0, len(paths) - 1)
            print(f'index = {index} path = {paths[index]}')
            # 如果单线程的话会卡顿
            # playsound(paths[index])
            t = Thread(target=playsound, args=(paths[index], ))
            t.start()
    
    # 启动监听器
    listener = keyboard.Listener(on_release=onRelease)
    listener.run()