最近的生活、學習節奏很是容易被打斷,終於,在今天,既實習結束之后,夏令營也結束了。
前幾天,一個人在復習地很累的時候,又重新將Python撿了起來,看了挺多的知識點。 真是太有意(wu)思(liao)了!說到這里。順便給大家推薦一個資源很全的python學習免非解答.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,這里有資深程序員分享以前學習心得,學習筆記,還有一線企業的工作經驗,且給大家精心整理一份python零基礎到項目實戰的資料,每天給大家講解python最新的技術,前景,學習需要留言的小細節
環境准備
1️⃣ python2.* 或 python3.*
2️⃣ 安裝pywin32擴展庫
3️⃣ 安裝speech模塊
安裝Python 2/3
安裝Python2還是Python3的選擇上,我個人是推薦兩個都裝上,在某些地方用的時候稍微多個切換環境變量的步驟而已。
當然了,我覺得就目前Python3已經推出的時長來看,初學者的話,還是建議先選擇安裝Python2熟悉Python的一些語法結構定義,而且使用上應該較舒適一些吧。
畢竟Python2推出的時間更久一些,遇到一些問題,可供搜索的解決方案也豐富些;同時啊,目前仍讓存有部分模塊功能無法適應Python3或是Python3.*的較高版本。
具體安裝的的過程就不詳講了,不管哪個版本都幾乎大同小異,很容易上手也是Python的特性之一
安裝完Python環境之后啊,畢竟也是一門編程語言,選擇一個合適的IDE是必不可少的,這里的話,我推薦閱讀一下Python IDE,更多 Python IDE 請參閱:http://wiki.python.org/moin/PythonEditors
PyCharm IDE
在眾多IDE中,最受大家追捧的一款便是PyCharm了,作為 JetBrains全家桶的一份子,這款軟件具備完善功能,如:調試、語法高亮、項目管理、代碼跳轉、智能提示、自動完成,單元測試甚至版本控制等。另外,它還提供了一些很好的功能用於 Django 開發,同時支持 Google App Engine,更酷的是,PyCharm 支持 IronPython。
官方下載地址:http://www.jetbrains.com/pycharm/download/
IntelliJ IDEA 注冊碼:http://idea.lanyus.com/以及提供的破解幫助文檔
IDEA系列主題下載地址:http://www.riaway.com/theme.php,這些主題支持的IDE包括:InteliJ IDEA, PhpStorm, PyCharm, RubyMine, WebStorm and AppCode。
注:怎么安裝下載的主題
從主菜單打開你的編輯器選擇File->Import Setting ,選擇你下載的jar文件;
等待重啟之后進行配置:打開File->Settings->Editor->Colors and fonts,然后選擇你安裝的主題即可完成。
安裝pywin32擴展庫
pywin32即 Python for Windows Extensions,提供了Pyhton訪問和調用Windows底層功能函數的接口,pywin32包括了win32api、win32com、win32gui、win32process等模塊
下載地址: https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/
這個要 根據Python版本(2.*/3.*)和CPU位數(32位/64位)下載相應版本並安裝。
比如,像我這種情況,就需要安裝 pywin32-221.win-amd64-py3.7.exe
安裝speech模塊
使用pip install speech命令即可安裝,但對於安裝了Python3的用戶來說,還需要針對Python3的一些新特性對安裝后的配置文件做些修改
至於這里的pip,它是Python包管理工具,該工具提供了對Python包的查找、下載、安裝、卸載的功能;
同時,Python 2.7.9 + 和 Python 3.4+ 以上版本都自帶pip工具,只要安裝的時候沒取消勾選那個選項,一般都不用再特別安裝了的,可以通過命令pip --version來判斷是否已安裝;
pip官網下載地址:https://pypi.org/project/pip/,注意,用哪個版本的 Python 運行安裝腳本,pip 就被關聯到哪個版本;
值得注意的是,部分 Linux 發行版可直接用包管理器安裝 pip,如 Debian 和 Ubuntu:sudo apt-get install python-pip。
pip常用相關指令
功能 指令
顯示版本和路徑 pip --version
獲取幫助 pip --help
升級 pip pip install -U pip
安裝最新版本包 pip install SomePackage
安裝指定版本 pip install SomePackage==1.0.4
最小版本 pip install 'SomePackage>=1.0.4'
升級包 pip install --upgrade SomePackage
升級至指定的包 使用== 、 >=
卸載包 pip uninstall SomePackage
搜索包 pip search SomePackage
顯示安裝包信息 pip show
查看指定包的詳細信息 pip show -f SomePackage
列出已安裝的包 pip list
查看可升級的包 pip list -o
注:如果上面那個 升級pip命令出現問題 ,可以使用以下命令:sudo easy_install --upgrade pip
Python3.*環境下正常使用speech的解決方法
speech's Project description
安裝完speech模塊后,需要去修改 speech.py文件,該文件路徑在..\Python37\Lib\site-packages下
line59 修改import thread,改成import threading;
line157 修改print prompt,改成print(prompt);
對最后的函數_ensure_event_thread修改如下:
class T(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
pass
def _ensure_event_thread():
"""
Make sure the eventthread is running, which checks the handlerqueue
for new eventhandlers to create, and runs the message pump.
"""
global _eventthread
if not _eventthread:
def loop():
while _eventthread:
pythoncom.PumpWaitingMessages()
if _handlerqueue:
(context,listener,callback) = _handlerqueue.pop()
# Just creating a _ListenerCallback object makes events
# fire till listener loses reference to its grammar object
_ListenerCallback(context, listener, callback)
time.sleep(.5)
_eventthread = T()
_eventthread.start()
智能語音自動讀詞腳本
前幾天,朋友分享給我一個關於計算機專業相關英語詞匯的文件,接收之后一直放在電腦桌面上,也不知道有沒有用。
今天下午的時候,因為最近的夏令營活動也一直有和AI相關研究領域團隊交流,所以突然就想到可不可以將這些英語單詞用已有的Python語音擴展包去實現一種類似於"課堂聽寫"的自動(談不上智能)模式。
具體的源程序下面也可以看到,整個的程序結構很簡陋,也沒花多少時間,相信理解起來也並不難。
值得說明的有這么幾點:
提供的樣例單詞都是計算機專業相關的,如果你想換成別的單詞,只需要修改test.csv文件即可。其中,test.csv文件中共有兩列數據,分別代表英語詞匯與相應中文釋義,要想實現中英互譯的功能,只要去將這列的順序去對調一下即可。
和"課堂聽寫"模式相像,每次會相隔Interval_Time時間按行語音輸出詞匯兩次(聽寫的時候,一般老師會間隔着地讀2~3次),之后的話,每聽寫一小組詞匯(LOOP_NUM個),就會將它們一起展示出來(中英對照),也以便看看自己的"正確率"有多高。
在選擇哪個智能語音模塊上,其實也有做了很多了解和實驗
最開始是打算用pyttsx(Python3好像要用pyttsx3),期間碰到了不少的問題,尤其對於Python3來說,只能多去搜搜看了,pyttsx的中文語音識別問題及探究之路、pyttsx3 - Text-to-speech x-platform、py庫:文本轉為語音(pywin32、pyttsx
之后也接觸到了pydub,pydub需要依賴libav或者ffmpeg,推薦閱讀:五十音聽寫:Python 音頻處理庫 pydub、python音頻處理庫:pydub。
既然談到這兒,就多聊一些關於音頻方面的內容,比如,如何使用Python播放mp3、wav、ogg格式的音頻文件
4.1 調用系統默認播放器播放
import time
import os
file = r'F:/Test/musicT/Hello.mp3'
os.system(file)
time.sleep(10)
4.2 pygame 播放,但存在語速失真的不足,pygame提供了兩個加載音樂文件的方法
4.2.1 pygame.mixer.Sound,主要加載ogg和wav音頻文件。
4.2.2 pygame.mixer.music,主要加載mp3音頻文件。
import time
import pygame
file = r'F:/Test/musicT/Hello.mp3'
pygame.mixer.init()
track = pygame.mixer.music.load(file)
pygame.mixer.music.play()
time.sleep(10)
pygame.mixer.music.stop()
4.3 mp3play播放,語速正常,但貌似目前只能用於python2.*,不支持python3.*
import time
import mp3play
def playmusic(path):
clip = mp3play.load(path)
clip.play()
time.sleep(10)
clip.stop()
file = r'F:/Test/musicT/Hello.mp3'
playmusic(file)
在編程過程中,有遇到了下面這種問題,針對這種情形的解決方案便是去任務管理下找到並結束智能語音進程
源程序
當然,也可以去GitHub上Download Latest Version,嗯emmm..,提前感謝您的star ⭐
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/7/27 18:01
# @Author : zhouie
# @File : main.py
# @Software: PyCharm
import speech
import time
import csv
data = [] # 暫存 *.csv 文件每行數據
Interval_Time = 4 # 兩次讀詞的間隔時間
LOOP_NUM = 8 # 循環基數
Think_Time = 15 # 回顧等待時間
csv_file = open('./res/test.csv', encoding='utf-8')
csv_reader_lines = csv.reader(csv_file)
# print(csv_reader_lines)
num = 0
for one_line in csv_reader_lines:
data.append(one_line)
num = num + 1
speech.say("計算機專業相關的英語單詞 中英互譯 測試小程序,demo版")
speech.say("This is a small routine (compiled by Python) for exercise about English phrases in the field of computer")
i = 0
while i < num:
# print(i + 1, data[i][0])
# speech.say(i + 1)
# speech.say(data[i][0])
# time.sleep(Interval_Time)
# speech.say(data[i][0])
if 0 == (i + 1) % LOOP_NUM:
speech.say("來回顧一下 以上所學的幾個詞匯吧")
speech.say("Just follow me , look back on the words you have learned...")
print("!--#######--*--#######--!")
print("第", int(i / LOOP_NUM) + 1, "組詞匯:")
for j in range(i - (LOOP_NUM - 1), i + 1):
print(data[j][0], data[j][1])
speech.say(data[j][0])
speech.say(data[j][1])
print("!--#######--*--#######--!")
speech.say("你的正確率如何呢?")
speech.say("So , What about your correct rate?")
time.sleep(Think_Time)
i = i + 1
speech.say("Congratulation!")
效果展示:視頻演示地址:https://v.qq.com/x/page/o0737zviriw.html
最后給大家推薦一個資源很全的python學習免非解答.裙 :七衣衣九七七巴而五(數字的諧音)轉換下可以找到了,這里有資深程序員分享以前學習心得,學習筆記,還有一線企業的工作經驗,且給大家精心整理一份python零基礎到項目實戰的資料,每天給大家講解python最新的技術,前景,學習需要留言的小細節
本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。