2016-08-19

英國增值稅(VAT)

在英國生活的朋友,一定會聽過 VAT 這個名,VAT 全名為 Value Added Tax (增值稅),VAT 的稅項適用於大部份英國境內出售的貨品及服務。不過,VAT 是一種間接稅,計算方法和原則有點複雜,相對於香港所奉行的簡單低稅制,香港人是要對VAT 有一點理解,和香港之前討論過的銷售稅有點相似。

2016-07-23

使用 notepad++ 執行 python 程式碼

Notepad++ 是一個輕巧的文本編輯器,如果編寫簡單的程式,可以作為入門,嘗試開始寫自己的程式碼。
這裏建議幾個方法在 Notepad++ 中執行 Python。

方法一: 安裝Notepad++ 的 Plugins "NppExec"
開啟 Notepad++ → 在選單點選 "Plugins" → "Plugin Manager" → "Show Plugin Manager"
在彈出的對話框中找尋 "NppExec" 外掛 → 勾選安裝。
接下來對 NppExec 作一些設定,勾選 "Follow $(CURRENT_DIRECTORY)。
然後就可以用 NppExec 執行 Script,
在彈出的對話框中輸入 → C:\Python\python.exe "$(FULL_CURRENT_PATH)"


C:\Python\python.exe "$(FULL_CURRENT_PATH)"
"Python 直譯器的位置" "空格" "$(FULL_CURRENT_PATH)"
然後可以選擇直接 執行(OK) 或 儲存...(Save...)。
如果儲存,輸入這段 Script 的名稱,供以後快速重用。


方法二: 不需安裝任何 Plugins,使用 Notepad++ 的 "Run" 功能
開啟 Notepad++ → 在選單點選 "執行(Run)" → "執行... (Run...)"
在彈出的對話框中輸入 → C:\Python\python.exe "$(FULL_CURRENT_PATH)"


C:\Python\python.exe "$(FULL_CURRENT_PATH)"
"Python 直譯器的位置" "空格" "$(FULL_CURRENT_PATH)"
然後可以選擇直接 執行(Run) 或 儲存...(Save...)。
如果儲存,可以設定快捷鍵,供以後快速重用。 我是設定為Ctrl + F5。
註意:
1. script 的第一部份為 Python 直譯器的所在位置,需按直譯器的所在位置而作出修改。
2. script 的最後部份為 程式碼檔案 的儲存位置。
3. 以上的 script 會在執行完成後立即關閉,如想保留直譯器在執行完成的狀態,可以在 .exe 後加上選項 " -i",直譯器就會保留在執行完成後的狀態。

C:\Python\python.exe -i "$(FULL_CURRENT_PATH)"

方法三: 不需安裝任可 Plugins,使用 Notepad++ 的 "Run" 功能 及 Windows command line
與方法二的做法差不多,但是 Python 直譯器需要安裝 及 將 "Python" 設定為 Windows 的指定路徑 (PATH)。
開啟 Notepad++ → 在選單點選 "執行(Run)" → "執行... (Run...)"
在彈出的對話框中輸入 → cmd /k python "$(FULL_CURRENT_PATH)" & PAUSE & EXIT


cmd /k python "$(FULL_CURRENT_PATH)" & PAUSE & EXIT
相同地,可以選擇直接 執行(Run) 或 儲存...(Save...)。
如果儲存,可以設定快捷鍵,供以後快速重用。 我是設定為Ctrl + F5。

2015-12-25

看 CNN Student News 學英文

對於要練習英文,CNN Student News 會是其中一個溝道,不過CNN 的語速比較快和沒有字幕,比較難跟,好在現在網上的資源豐富,在youtube可以找到有字幕的CNN Student News.



scripts: 

Welcome to our last edition of CNN Student News for 2015.
I'm Carl Azuz. And Fridays(每星期五) are awesome (adj. 真棒, 正) ! 
For the past few days, our year end review series has looked back at some of the stories that made headlines since January. Teachers, you could find all of our shows in the archive section of CNNStudentNews.com.

2015-09-30

Python 3.5.0 urllib 用法

在網上搜索使用Python語言的網絡爬蟲(Crawler)程式碼時,經常會出現導入(import) "urllib" 及 "urllib2" 模組(module)的程式碼。

但是在 Python 3.X 的版本中,將 "urllib" 和 "urllib2" 模組合併為 "urllib" 下的模組,分別是"urllib.error","urllib.request","urllib.response",還有 "urllib.parse" 及 "urllib.robotparser" 。

不過要留意導入 "urllib" 是不會同時導入 urllib 下的模組。
以下會用 Python 內建函數(Built-in Function)中的 "dir()" 作示範。
# Print every function inside a module
import urllib               # Imports the urllib module
print (dir(urllib))         # Prints urllib

# Print every function inside a module
import urllib.error         # Imports the urllib.error module
print (dir(urllib.error))   # Prints urllib.error

# Print every function inside a module
import urllib.request       # Imports the urllib.request module
print (dir(urllib.request)) # Prints urllib.request

如要導入模組,需要指明模組的名稱,如下
import urllib.request
import urllib.response
import urllib.error
在 Python 3.X 中,以下左方的語法要 改成 右方的語法
urllib2.urlopen() 改成 urllib.request.urlopen()
urllib2.Request() 改成 urllib.request.Request()

想了解更多,可參考以下英文教學。
Python 3.X Porting Guide

2015-09-15

Python 3.5.0 入門

第一步: 在 Windows 安裝 python

在 windows 的環境下,python 是需要安裝,而在 Mac 和 Unix 的環境是內建的。

Python 的安裝檔可以在官網 (https://www.python.org/) 下載,目前最新的穩定版本為 3.5.0。由於本人的電腦環境為 32bit 的 windows10,所以下載 "Python 3.5.0 - 2015-09-13 - Windows x86 executable installer"。

下圖是 3.5.0 的安裝畫面,記得勾選 "Add Python 3.5 to PATH" ,以後開啟 python 會方便一點。
python 3.5.0 安裝畫面
安裝完成的畫面
安裝完成的畫面
如果安裝成功,可以在 windows cmd 裡開啟 python 直譯器 或 在開始功能表中開啟python。
Windows cmd 開啟 python 方法

 第二步: Hello World

Python 的 "Hello World" 例子真是十分簡單。
Print('Hello World')
Hello World 語句

Python 的第一段程式已經完成。今天到此為止了,往後還會有其他的 python 用法,再見。

2015-09-12

下載香港電台節目的方法

香港電台的官方網站提供了很好的節目重温,但是如果在電話收聽電台節目的重溫,要保持電話屏幕開著的狀態,電話的耗電量就會大大增加。一個比較好的收聽方法就是下載回來,但是香港電台的網頁沒有提供下載的方法。

這時就要用 ffmpeg 這個軟件,簡單來說,ffmpeg 是一個音訊和視訊錄影軟件。詳細的說明可以參考維基百科

第一步: 取得軟件

ffmpeg 的官網可以下載到最新的版本。不過我就用一個比較舊的版本,因為我不是常常要下載節目重溫,另外也沒有太多的時間和心力去保持更新。

ffmpeg 官網: http://www.ffmpeg.org/download.html
我使用的版本 (ffmpeg-1.2.11-win32-static) 可以在這裡下載。

第二步: 到香港電台網站取得音訊檔的網址

以<<守下留情>>其中一集 (林保全(叮噹的配音員)(00:34''40')) 的電台訪問為例,打開重溫節目的播放器 (Player) 網頁

檢視原始碼和搜索 "stmw" ,之後可以得到一組至幾組的網址,視乎節目有沒有分開幾部分。
2016-08-18 更新,請留意是"檢視原始碼(View Source)",而不是到網頁的"文字"版本。

下載整個節目的網址
http://stmw1.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/mp3:20141229.mp3/playlist.m3u8

2016-05-28 更新,因為RTHK那邊將檔案移至"stmw3.rthk.hk"。
http://stmw3.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/mp3:20141229.mp3/playlist.m3u8
.m3u8 是播放清單,會包含所有的部分。
下載第一部分節目的網址
http://stmw1.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/mp3:20141229.mp3/playlist.m3u8?wowzaplaystart=0&wowzaplayduration=3358010

2016-05-28 更新,因為RTHK那邊將檔案移至"stmw3.rthk.hk"。
http://stmw3.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/mp3:20141229.mp3/playlist.m3u8?wowzaplaystart=0&wowzaplayduration=3358010
下載第二部分節目的網址
http://stmw1.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/mp3:20141229.mp3/playlist.m3u8?wowzaplaystart=3358010&wowzaplayduration=3358000

2016-05-28 更新,因為RTHK那邊將檔案移至"stmw3.rthk.hk"。
http://stmw3.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/mp3:20141229.mp3/playlist.m3u8?wowzaplaystart=3358010&wowzaplayduration=3358000
"wowzaplaystart=" 後的數字是時間,以千分之一秒 (milliseconds) 作單位,3358010 相等於55分58秒。

第三步: 開啟 ffmpeg 及輸入相關的代碼

ffmpeg 是以「命令提示字元」的方式操作。輸入以下的代碼
ffmpeg -i "http://stmw1.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/
mp3:20141229.mp3/playlist.m3u8" -acodec mp3 OutputFile.mp3 

2016-05-28 更新,因為RTHK那邊將檔案移至"stmw3.rthk.hk"。

ffmpeg -i "http://stmw3.rthk.hk/aod/_definst_/radio/archive/radio2/SeeSaw/mp3/
mp3:20141229.mp3/playlist.m3u8" -acodec mp3 OutputFile.mp3
ffmpeg 就會錄制音訊,最後會儲存名為 "OutputFile" 的 mp3 檔案。