使用Python将任正非400+篇演讲批量转化为语音

语音处理工具实战:从环境部署到API服务的完整指南 语音处理技术作为人工智能的重要分支,其核心原理是通过深度学习模型实现音频与文本之间的双向转换。这项技术的工程价值在于将前沿算法转化为稳定可靠的生产力工具,广泛应用于视频字幕生成、会议纪要转写、智能配音等场景。在实际部署中,模型体积和显存占用是决定工具能否在普通环境运行的关键因素,而batch_size等参数的合理配置直接影响处理效率与稳定性。通过理解语音识别与语音合成的技术边界,开发者可以更好地评估工具适用性,并构建从命令行到API服务的完整处理流水线,实现音频文本化需求的高效落地。 阅读详情

霸气任Boss

最近要说科技圈最火的公司,莫过于华为了。菊厂从5月15日美国商务部将华为列入“实体清单”开始,就一直处于风口浪尖。
先有 海思女总裁何庭波的一封信“备胎”转“正”!,掀起了一场关于自研芯片的讨论浪潮。
在到 任Boss的公开发言,表示美国此举并不能动摇华为根基,只能让华为的发展势头暂时变得缓慢。
后到 谷歌停止华为合作的轰炸消息,让我们对华为手机等移动设备在欧美市场更为担忧。
最近 又出现了所谓“ARM釜底抽薪”的事件,让大家对之前的海思B计划捏一把汗
之后 任总参加央视《面对面》节目,面对董倩独家专访时,闭口不谈压力,全程围绕着一个国家的强盛,是在小学教师的讲台上完成的主题而探讨。这150分钟的视频,让我看到的仿佛只是一名为祖国未来教育而努力的老者。
任总在21日记者问答时说的一句话让我着实佩服:

华为是一个商业公司,对于华为的产品,消费者喜欢就用,不喜欢就不用,不应该把华为的产品和政治挂钩

当时听到这句朴实的话,第一感觉就是,这才是一个企业家应有的气魄。面对一个国家的施压,我自泰然处之。
激动之余,我转手掏出了兜里的Mate 20X,然后看看桌子上老婆充电的mate 20 默默的说一句,菊长我尽力了...
不管这场风波最终结局如何,我们可以关注、讨论,但请大家保持一份冷静的心态。

GitHub上的任Boss演讲

昨天各大公众号突然不约而同的讨论,GitHub上有一个benmahr的用户,上传了400多篇任总从1994到2018年的相关演讲。可当我根据url去查找链接的时候,作者已经删除了该项目。还好当时有些用户clone了该项目,让我搜到并下载了这些文章。
看到这些文章都是以.md结尾的,且普遍排版风格单一,猜想应该也是一位Python爬虫的友军。至于为什么要转成MD格式,也许是程序员对于GitHub上文本类型的执念吧。用Markdown编辑器打开看了几篇文章,此处省略赞扬华为n句,不然大家都觉得我是推手了...
不得不说,任总的演讲在朴素的话语中,仿佛能感受到他逐步引领华为走向今天的成功。也许这位朋友就是觉得其中的内容,可能让老美分析出什么,所以才删除的吧。看着这么多的文章,让我觉得像是在读心灵鸡汤连载与名人语录般。
可我这人天生坐不住,书看一会儿就犯困。400多篇的文章,要让我逐篇赏析该看到什么时候,犯愁-ing...
思来想去,计上心来

懒人听书?

作为菊长的合作公司,任总在2019年第一封电邮讲话中,说到了华为今年将全面提升工程能力,并对产品高质量进行重点关注。对此电邮讲话,公司要求各部门认真学习。当时我心血来潮,使用python把文章用jieba进行了词频分析,最终将文章转化为语音分享给同事们。
回忆起这茬,那么这次的400多篇文章,我岂不是可以如法炮制的都转化成mp3文件,丢到手机里每天上下班坐车的时候慢慢听?说干就干!

语音识别

关于语音识别,Python的实现的方式很多种。

  1. 通过python的win32common模块,直接调用windows系统的语音去读取文章,无脑...
  2. 使用pyttsx3(python2是pyttsx)模块,但尽管模块内含很多设置,可发音还是基于windows系统自带的语音,只是没有上一种那么生硬,但依旧不好听。
  3. 使用API接口识别!

百度语音识别api:baidu-aip是百度开放的公共语音转化服务。只需要在百度注册相关的app及秘钥信息即可使用。

5847426-8a32faf9ba178b9b.png
百度语音识别注册.png

使用流程如下:

  1. 访问语音合成-百度AI开放平台:http://ai.baidu.com/tech/speech/tts
  2. 之后使用百度账号即可登陆(没有百度账号的,自己注册一个)
  3. 创建应用,添加语音识别的功能,并完成注册
  4. 保存你的app_id, API_Key, Secret_Key 三项数据留着后续使用
  5. 切换回语音合成首页,点击立即使用旁边的技术文档按钮,进入API文档
  6. 定位 语音合成-->SDK文档-->Python SDK,即可看到详细的开发文档说明


    5847426-553e707dde941a7a.png
    百度账号登陆.png

    5847426-67feda73ced92062.png
    image.png

接下来,我们看看文档中的相关说明:

  • 接口描述
    基于该接口,开发者可以轻松的获取语音合成能力
  • 请求说明
    合成文本长度必须小于1024字节,如果本文长度较长,可以采用多次请求的方式。文本长度不可超过限制
    举例,要把一段文字合成为语音文件:
from aip import AipSpeech

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

result  = client.synthesis('你好百度', 'zh', 1, {
    'vol': 5,
})

# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
    with open('auido.mp3', 'wb') as f:
        f.write(result)

在上面代码中,常量APP_ID在百度云控制台中创建,常量API_KEY与SECRET_KEY是在创建完毕应用后,系统分配给用户的,均为字符串,用于标识用户,为访问做签名验证,可在AI服务控制台中的应用列表中查看。

参数类型描述是否必须
textString合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节是
cuidString用户唯一标识,用来区分用户,填写机器 MAC 地址或 IMEI 码,长度为60以内否
speedString语速,取值0-9,默认为5中语速否
pitString音调,取值0-9,默认为5中语调否
volString音量,取值0-15,默认为5中音量否
perString发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女否

markdown转文本

由于这些发言都是MD结尾的文章,我们首先需要将这些文章,转化为文本后,才能进行相关转换操作。
之前私下里也用python操作过markdown,但都是基于HTML与MARKDOWN的互转,直接转成文本还没尝试过。
可否先转为html,在通过requests解析本地html,最终获得content呢?太麻烦了...
让我们先来看看简书上的markdown的语法有哪些:

# 一级标题
## 二级标题
##### 五级标题
- 列表第一项
- 列表第二项
1. 有序列表第一项
2. 有序列表第二项
[标题](链接地址)
![图片描述](图片链接地址)
*斜体*
**粗体**
> 引用段落
```代码块

我们是否可以用正则去过滤这些语法呢?

  1. 最麻烦的莫过于链接和代码块了
>>> test='测试:你[图片上传失败...(image-516d3b-1558963315309)]好[https://abc123.com](https://abc123.com)啊'
>>> re.sub(r'!?\[[^\]]+\]\([^\)]+\)','',test)
>>> '测试:你好啊'
  1. 之后针对# - > *一起匹配
  2. 至于代码块,放心不存在的....
    最终:
    re.sub(r'!?\[[^\]]+\]\([^\)]+\)|[\#\-\>\*]*','',test)

最终代码

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/5/25 20:20
# @Software : PyCharm
# @version  :Python 3.6.8
# @File     : speech.py

import os
import re
from aip import AipSpeech
import threading
import time


class FileToVoice:
    """
    将用户指定的文件(夹)中的文本内容,转化为语音
    """
    SIZE = 1024  # 百度aip单次转化长度限制

    def __init__(self):
        # AipSpeech秘钥,个人需单独修改...
        app_id = ''
        api_key = ''
        secret_key = ''
        self.client = AipSpeech(app_id, api_key, secret_key)
        func = self.read_dir()
        if func:
            func()

    def read_dir(self):
        """
        判断路径类型
        """
        if os.path.isdir(StartPath):
            # 返回文件夹遍历方法
            return self.ergodic_dir
        elif os.path.isfile(StartPath):
            self.change_file(StartPath)
        else:
            raise TypeError("未找到需要转化的文件(夹)...")

    def ergodic_dir(self):
        """
        百度API的转换速度基本为1000字12秒
        启用多线程并发,加快转换速度。
        """
        for root, dirs, files in os.walk(StartPath):
            base_dir = os.path.join(SavePath, os.path.split(root)[1])
            try:
                os.mkdir(base_dir)
            except FileExistsError:
                pass
            for file in files:
                filepath = os.path.join(root, file)
                t = threading.Thread(target=self.change_file, args=(filepath, base_dir))
                t.start()
                time.sleep(0.2)

    def change_file(self, file, base_dir='', per=0):
        try:
            sem.acquire()
            with open(file, 'r', encoding='utf-8') as f:
                mp3 = bytes()
                while True:
                    index = f.read(self.SIZE)
                    if not index:
                        break
                    _index = re.sub(r'!?\[[^\]]+\]\([^\)]+\)|[\#\-\>\*]*', '', index)
                    reult = self.client.synthesis(_index, 'zh', 1, {'vol': 5, 'per': per})
                    mp3 += reult
                # 获取文件名称并拼接MP3文件名
                file_name = '%s.mp3' % os.path.splitext(os.path.split(file)[1])[0]
                # 合并最终文件归档地址
                mp3_file = os.path.join(base_dir, file_name)
                with open(mp3_file, 'wb+') as t:
                    t.write(mp3)
                print('系统已转换完成 %s ' % mp3_file)
        except Exception as ErrorInfo:
            print(ErrorInfo)

        finally:
            sem.release()


if __name__ == '__main__':
    StartPath = r'D:\RenBossSpeech'
    SavePath = r"F:\Speech"
    try:
        os.mkdir(SavePath)
    except FileExistsError:
        pass
    sem = threading.Semaphore(5)
    main = FileToVoice()
    while threading.active_count() != 1:
        pass
    else:
        print('### FileToVoice Jobs is over!!!###')

百度在线的转换速度基本为1000字11秒,代码开了5线程去搞,400多篇下来也转了好久...


5847426-863eb5db63493664.png
代码实现效果.png

看看我们转换号的语音吧:


5847426-bdf3bd457901f419.gif
音频文件展示.gif

喜欢的朋友可以去我的github下载源码,希望大家喜欢我的文章。
https://github.com/KingUranus/RenBossSpeech

©本文由简书作者:清风Python 原创 如需转载请注明

任正非讲话稿400篇.pdf 这里收录了任正非讲话稿 400 余篇,从 1994 年到 2018 年,从深圳、中国到东南亚、非 洲、欧洲、美洲,从研发、市场、服务到财经、人力资源、战略、内控与公共关系,从交换机、 通讯设备、移动终端到人工智能、物联网,从 2G、3G 到 4G、5G,从物理学、化学、数学到 心理学、哲学,从……到……,穿越时空看华为大幕如何徐徐展开,观任正非大家成长进化, 向优秀学习,与时代共舞。 立即下载

相关推荐

任正非讲话全集

码农宝典 任正非20余年的重要讲话,学习任正非,学习华为的绝好材料。

任正非讲话稿400篇_任正非讲话稿400余篇分享,最全任正非演讲稿下载

这里收录了任正非讲话稿400 余篇,从1994 年到2018 年,从深圳、中国到东南亚、非洲、欧洲、美洲,从研发、市场、服务到财经、人力资源、战略、内控与公共关系,从交换机、通讯设备、移动终端到人工智能、物联网,从2G、3G 到4G、5G,从物理学、化学、数学到心理学、哲学,从……到……,穿越时空看华为大幕如何徐徐展开,观任正非大家成长进化,向优秀学习,与时代共舞。任正非演讲稿400余篇...

weixin_39739846的博客 3505

python的一个演讲文稿

面向对象和图形用户界面,用Python玩转数据GUI与面向对象

解决pyttsx3不读中文的问题

首先我们需要知道我们自己的系统里自带什么语音包,然后才能从这些自带的语音包里选出一个来用: # 这段代码会把系统里的可用语音包的信息print出来 import pyttsx3 engine = pyttsx3.init() voices = engine.getProperty('voices') for voice in voices: print("Voice:") print(" - ID: %s" % voice.id) print(" - Name: %s" %

rain_365tian的博客 7809

svoice:我们提供了纸质语音分离的PyTorch实现,该语音分离具有未知数量的多个扬声器,其中,我们提出了一种分离混合音频序列的新方法,其中多个语音同时讲话。 新方法采用了门控神经网络,经过训练可以在多个处理步骤中分离语音,同时将每个输出通道中的扬声器保持固定。 针对每种可能的说话者训练不同的模型,并且使用说话者数量最大的模型来选择给定样本中的实际说话者数量。 我们的方法大大优于当前的技术水平,正如我们所展示的,对于两个以上的扬声器来说,这是没有竞争力的

具有多个发言人的语音分离(ICML 2020) 我们提供了本文的实现:其中,我们提出了一种分离混合音频序列的新方法,其中多个语音同时讲话。 新方法采用了门控神经网络,经过训练可以在多个处理步骤中分离语音,同时将每个输出通道中的扬声器保持固定。 针对每种可能的说话者训练不同的模型,并且使用说话者数量最大的模型来选择给定样本中的实际说话者数量。 我们的方法大大优于当前的技术水平,正如我们所展示的那样,对于两个以上的扬声器来说,这是没有竞争力的。 请注意,此实现不包含本文所述的“ IDloss”。 音频样本可以在这里找到: 安装 首先,安装Python 3.7(Anaconda推荐)。 克隆此存储库并安装依赖项。 我们建议使用全新的virtualenv或Conda环境。 git clone git@github.com:fairinternal/svoice.git cd svoice

超级罕见华为任正非内部文章全集(共计41篇)

超级罕见华为任正非内部文章全集(共计41篇)

任正非最新讲话:没有退路就是胜利之路!

加强与全世界顶尖的大学合作,仅仅在电子通信联接技术领域刚刚有点突破,就像一块大石板下面的小草,石板刚扳开一小会还没有喘过气来,又压上了,现实给了我们的压强是很大的。,网聊也是“喝咖啡”,比如2012实验室在群里的讨论就很激烈,关于软件突围方向在心声社区的回帖有1500多条,别看这一片骂声,这就是贵人指点、高僧开光、西汉张良在桥头获得的天书。**特别是在艰苦地区、艰苦国家工作的员工,更要加强学习,有优先垂直提拔的机会,你们已取得了火线考验的资格,为什么技能要输给别人,失去自己可以优先获得的机会呢。

weixin_66137383的博客 1536

任正非讲话稿400篇(任正非思想).zip

任正非讲话稿 400 余篇,从深圳、中国到东南亚、非洲、欧洲、美洲,从研发、市场、服务到财经、人力资源、战略、内 控与公共关系,从交换机、通讯设备、移动终端到人工智能、物联网,从 2G、3G 到 4G、5G,从物理学、化学、数学到心理学、哲学,从......到......,穿越时 空看华为大幕如何徐徐展开,观任正非大家成长进化,向优秀学习,与时代共舞。

离线AI语音翻译实战:从环境搭建到批量处理全流程解析

语音识别(ASR)与机器翻译(MT)是自然语言处理(NLP)领域的核心技术,它们通过深度学习模型将语音信号转换为文本,再实现跨语言语义转换。其技术价值在于打破语言障碍,实现实时、准确的信息传递。在工程实践中,离线部署成为关键需求,尤其在网络不稳定或数据敏感的移动端、边缘计算及涉外商务、旅行等场景中。本文聚焦离线AI语音翻译系统的实战部署,深入探讨如何平衡模型精度、推理速度与本地资源消耗,并系统解决环境配置、多语言支持及批量处理中的常见问题,为构建可靠的无网络语音翻译方案提供完整路径。

weixin_34378969的博客 592

Linux系统安装AutoDockTools、AutoGrid和AutoDock并实现分子对接(详细讲解)

linux系统为centos7.0 按照下面操作安装AutoDockTools(MGLTools) 1. 下载安装包,链接(https://ccsb.scripps.edu/mgltools/downloads/),我的linux系统是64位,下载红色标记源代码,拷贝入linux目标文件夹下。 2. shell终端进行安装: 1. 终端进入安装包所在文件夹,并获取root权限;赋予代码安装权限; cd /home/... #目标文件夹,根据目标程序文件位置进行更改 su #获

carlos_zhao的博客 1万+

Modelsim安装教程以及管理员身份运行patch_dll.bat时找不到文件mgls.dll的解决

Modesim安装教程 Modesim版本有很多,但是安装方式大都相同,我们以modesim.10.5为例,电脑使用的是win10 64位,讲一下安装过程中的步骤以及出现问题的解决方法 一 安装 1.首先解压安装包,在解压的安装包内选择应用程序,右键选择管理员运行。 2.稍等一会,有的电脑会弹出是否允许modesim进行更改,选择 是 即可,然后出现下面的界面,点击下一步。 3.弹出此界面选择安装路径,选择安装路径,我是在D盘新建的文件夹,直接把文件夹中的路径复制在框内。文件夹名称切记不要带中文 4.

weixin_48564372的博客 1万+

PyCon US 2020 来了:人生苦短,不如线上学 Python

By 超神经内容概述:疫情之下,越来越多的会议转战线上。近日,美国 Python 开发者大会(PyConUS),也将在线上拉开帷幕。这个大会有哪些看点,该如何参与进去,它能给 Py...

HyperAI超神经 1061

mac安全干净卸载Anaconda3

主要原因是python命令没有映射到已经安装的python版本上,则需要添加。修改~/.bash_profile文件,将anaconda相关删除。现在想卸载Anaconda,恢复使用mac系统自带的Python。最后在mac的应用目录删除Anaconda。查看所有版本的python所在安装目录。或者不使用软连接映射,也可使用。再次查看python映射。查看python版本。建立软连接,添加映射。

buyue 5962

Audio Slicer CLI命令行教程:批量处理音频文件的高效技巧

Audio Slicer 是一个基于Python的音频切片工具,专门用于通过静音检测自动分割音频文件。这个强大的命令行工具能够智能识别音频中的静音部分,将长音频文件自动切割成多个小片段,非常适合音频处理、语音识别、音乐制作和播客编辑等场景。掌握Audio Slicer的CLI使用技巧,可以让你批量处理音频文件时效率提升数百倍! ## 🚀 快速入门:安装与基本使用 首先,你需要克隆项目仓库并安

gitblog_01173的博客 911

计算机视觉——多视图几何

多视图几何1.前言1.1 多视图几何概念2. 基本原理2.1 对极几何2.2 基础矩阵2.2.1 基础矩阵推导2.2.2 求解基础矩阵3. 实验过程3.1 实验数据准备3.2 实验代码3.3 实验结果及分析4. 实验中遇到的问题 1.前言 1.1 多视图几何概念 多视图几何是利用在不同视点所拍摄图像间的关系,来研究照相机之间或者特征之间关系的一门科学。 多视图几何(Multiple View ...

RuiMa的博客 7715

视觉SLAM十四讲--第13讲 实践:设计SLAM系统(最详细的代码调试运行步骤)

最详细的代码调试运行避坑说明,也包含了我自己对代码的理解,如有理解错误的地方,欢迎指正交流。

记录和分享 1万+

音频智能分割新体验:Audio Slicer让剪辑效率提升400倍

还在为手动剪辑音频而烦恼吗?Audio Slicer是一款基于静音检测的智能音频自动分割工具,它能自动识别音频中的静音部分,将长音频智能切割成多个片段。无论您是播客创作者、语音识别研究者,还是音乐制作人,这款免费开源工具都能大幅提升您的工作效率。 ## 🎯 为什么你需要这款音频智能分割工具? 在数字内容创作日益普及的今天,音频处理已成为创作者日常工作的重要组成部分。传统的音频剪辑需要反复试听

gitblog_00329的博客 805

Mind+掌控板实战:5分钟搞定Easy IoT的MQTT通讯(附完整代码)

本文详细介绍了如何利用掌控板和Mind+图形化编程软件,快速实现基于Easy IoT平台的MQTT通讯。通过清晰的步骤讲解和完整的代码示例,指导用户完成从云端配置、Wi-Fi连接到MQTT消息发布与订阅的全过程,帮助初学者轻松构建物联网设备间的双向对话系统。

weixin_29300241的博客 449

Open STT下载攻略:3种方法获取2.3TB俄语语音数据

Open STT是目前最大的公开俄语语音识别数据集,包含约2.3TB的俄语语音数据,总计超过20,000小时的语音内容,是构建俄语语音识别模型的宝贵资源。🚀 本文将详细介绍三种获取这个庞大俄语语音数据集的下载方法,帮助研究人员和开发者快速获取所需数据。 ## 📊 Open STT数据集概览 Open STT数据集是目前最全面的俄语语音识别数据集之一,包含以下主要组成部分: | 数据集名称

gitblog_01141的博客 927

基于STM32的智能血氧、心率、体温、血压监测系统

摘要:本文设计了一款基于STM32F103C8T6的多功能健康监测系统,可实时检测血氧、心率、体温和血压四项生理参数。系统集成MAX30102、DS18B20等传感器模块,采用OLED显示和蓝牙无线传输技术,实现一键血压测量、阈值报警及手机APP数据管理功能。硬件设计包含传感器采集、电源管理、显示报警等模块;软件采用模块化架构,实现数据采集处理、蓝牙通讯等功能。测试表明系统测量准确可靠,为家庭健康监测提供了便携解决方案。未来可扩展更多监测参数和智能分析功能。

3254968421的博客 771

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

Coding... 2852

Buzz离线语音转文字终极实战:从语音到文字的智能革命

在数字内容爆炸的时代,音频和视频中的信息价值被严重低估——会议录音沉睡在硬盘深处,教学讲座的精华被噪音掩盖,播客节目的智慧无法被搜索检索。传统语音识别工具要么依赖云端服务牺牲隐私,要么需要昂贵硬件和专业操作技能。Buzz的出现,如同一场静默的革命,让每个人都能在本地计算机上实现专业级的音频转录与翻译,无需网络连接,无需付费订阅,完全掌控自己的数据主权。 ## 一、核心原理:为什么Buzz能离线实

gitblog_01185的博客 373

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

whisper.cpp CUDA加速实战:转写提速十几倍,4步跑通GPU语音识别

一份30秒的演讲录音,在16核CPU上要跑400多毫秒的编码器计算,换到显卡上只要24毫秒。这就是 whisper.cpp CUDA加速 的真实差距——它把OpenAI Whisper语音转写模型以纯C/C++实现,并支持把矩阵运算整体丢给NVIDIA显卡。 ## 🎬 30秒看懂 whisper.cpp 是什么 - **它是什么**:Whisper模型的C/C++移植版,不依赖Python,

gitblog_00280的博客 341

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Seed-VC:零样本语音转换,30秒克隆任何人的声音

想要让AI模仿你的声音,为视频配音?还是想为游戏角色定制独特音色?传统语音克隆技术需要数小时训练数据和专业设备,让普通用户望而却步。现在,**Seed-VC零样本语音转换技术**彻底改变了这一现状!只需1-30秒的参考语音,无需任何训练,即可实现高质量的**实时语音转换**和**歌声转换**,让声音克隆变得前所未有的简单和高效。 ## 为什么选择Seed-VC?三大核心优势 ### 1. 极速

gitblog_01160的博客 492

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 用Python爬虫获取今日全国高温Top10
下一篇: Bootstrap学习笔记1--表单样式
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值