from pysine import sine
sine(frequency=440.0, duration=1.0)
highlight.js
星期二, 1月 01, 2019
Python 中跨平台播放固定頻率聲音的模組--pysine
找了很久, 終於找到了, Windows 平台上有 winsound 模組簡單易用, 可是這是 Windows 專屬, 如果需要跨平台, 可以使用 pysine:
星期四, 11月 08, 2018
使用 Python 從 excel 檔終結取資料
由於需要從大量的 excel 檔中擷取資料,就想是否可以用程式的方式來解決,一查知下, 果然有個 xlrd 模組可以讀寫 excel 檔。例如, 我想從當前資料夾下一個個打開 excel 檔,並且檢查每一筆資料中, 若第 B 欄的內容符合條件, 就將同一列 B 欄與 D欄的資料寫入輸出檔案中, 就可以撰寫類似以下的程式:
import glob
import xlrd
with open('result.txt', mode='w', encoding='utf-8') as of:
for xlsfile in glob.iglob("order*.xls"):
wb = xlrd.open_workbook(xlsfile)
for i in range(wb.nsheets):
st = wb.sheet_by_index(i)
if st.nrows > 1:
for r in range(st.nrows):
if st.cell(r, 1).value in ('table','chair'):
of.write(st.cell(r, 1).value + ',' +
st.cell(r, 3).value + "\n")
要注意的是, 這個套件中不論是列編號或是欄編號都是從 0 開始, 因此 excel 檔中的第 1 列編號為 0, 第 B 欄編號為 1, 所以上面程式中 cell(r, 1) 就是 excel 檔中第 r+1 列的第 B 欄。詳細的用法可以參考該模組的說明文件, 或是參考這一份簡單的教學。
星期六, 6月 17, 2017
Windows 上 Python2/3 共存的最簡單方式
我真是後知後覺, 原來在 Windows 上從 Python 3.3 之後就提供了 Python launcher 工具程式, 可以讓你用 "py -版本" 的方式執行 Python 2 或是 Python 3 的直譯器。而對於套件管理軟體 pip, 也可以使用 pip2 或是 pip3 來區別管理 Python 2 與 Python 3 的套件:
星期四, 2月 09, 2017
Raspberry Pi 設定系統音量
星期一, 3月 07, 2016
ESP8266 韌體燒錄
ESP8266 是創客界的實用玩具, 許多人都客製了不同的韌體, 以下蒐集了幾種不同的韌體供大家切換使用:
- MicroPython:使用 Python 程式語言開發應用, 可在此處 (https://s3.amazonaws.com/adafruit-download/MicroPython_ESP8266_Firmware_5_12_2015.zip) 下載, 這版韌體的序列埠速率使用 115200bps。
- Espruino:使用 JavaScript 程式語言開發應用, 可在此處 (http://www.espruino.com/binaries/) 下載韌體, 請在其中找到專為 ESP8266 晶片設計的韌體, 序列埠的速率應該是 115200bps。
- NodeMCU:使用 lua 程式語言開發應用, 可在這裡 (https://github.com/nodemcu/nodemcu-firmware/releases) 下載韌體, 韌體有區分 int 與 float 版本, 一般應用需要浮點數計算就要下載 float 版本, 否則數值只有整數可用。或者, 您也可以在這裡線上客製自己的韌體, 客製後的韌體使用的序列埠速率是 9600bps。
- AT 指令:使用傳統的 AT 指令控制 ESP8266, 雖然沒有上述程式語言的好處, 但對於瞭解 ESP8266 的運作很有幫助。你可以在這裡 (http://bbs.espressif.com/viewforum.php?f=46) 尋找討論串中標題為 AT Releases 的就是 AT 指令集的韌體。要特別留意的是 1.5 版後的 AT 指令集因為程式碼太大, 無法燒錄到 4MB Flash 版本的 ESP8266 晶片, 必須使用具有 8MB 的晶片。有關相關燒錄步驟, 可參考這篇文章。
訂閱:
文章 (Atom)