Google Storage 工具 GSUtil 使用入門

在申請到 Google Storage 的環境後,最先是直接使用瀏覽器來存放檔案。
不過,也看到網站說明,表示可以使用 GSUtil 工具。

對於 第一次 使用 GSUtil 工具者來說,除需要再下載 Phthon 程式;
還要將它們分別放置在各自的目錄位置,再依據 install GSUtil on Windows
進行 環境變數 設定及初始化指令的執行。

1. 環境變數 設定:

HOME C:\GSUtil
Path 補加 C:\GSUtil;C:\Python27
PYTHONPATH C:\GSUtil\boto

2. 初始化指令的執行
    python gsutil ls
** 要在 C:\GSUtil 目錄,下此指令
** 或是 python c:\GSUtil\gsutil ls
** 第一次執行,要輸入 google access key、google secret access key
(可以在 Google Storage for Developers (Labs) Developer Resources / Manage Keys 申請)

 

指令正確執行的畫面,如下
-------------------------------------------------------------------
C:\Documents and Settings\perton>cd \gsutil

C:\GSUtil>python gsutil ls
You have no boto config file. This script will create one at
C:\GSUtil\.boto
containing your credentials, based on your responses to the following questions.

What is your google access key ID? GOOG2XNKSJFIB5GOUXUH
What is your google secret access key? 3+DDysWmC97kUQuOwpZDVcGBtTywkXXekFfR/coc

Configuration file "C:\GSUtil\.boto" created. If you need to use
a proxy to access the Internet please see the instructions in that file.
Please try running gsutil again now.
-------------------------------------------------------------------

若是環境變數沒有設定正確,會有下列錯誤:
-------------------------------------------------------------------
Failure: [Errno 22] invalid mode ('w') or filename: c:\\GSUtil\\; c:\\Python27\\.boto
-------------------------------------------------------------------

若是執行指令位置,未移至 C:\GSUtil 目錄下;或是未特別指定 GSUtil 的存放路徑,會有下列錯誤:
-------------------------------------------------------------------
C:\Documents and Settings\perton>python gsutil ls
python: can't open file 'gsutil': [Errno 2] No such file or directory
------------------------------------------------------------------- 
 

指令正確執行後,因為已經建立 Configuration file "C:\GSUtil\.boto" ;若是再次執行該指令,會有下列訊息:
-------------------------------------------------------------------
C:\>python c:\GSUtil\gsutil ls
gs://family_photos/
gs://glory2god/
gs://khchurch/
gs://perton/
-------------------------------------------------------------------

PS: family_photos, glory2god, khchurch, perton 是筆者早先在 Google Storage 建立 Bucket 所定的名稱。

最好的決定就是做出決定

clip_image002    最好的決定就是做出決定

● 現實世界裡,有些事情是你無法改變的。

● 我們隨時在做決定,其中大部分都是不自覺的。

● 要是你自己不做決定,就等於是將決定權拱手讓人。

● 選擇了一個決定,就等於是排除了其他的選項。

● 當理智尚在權衡得失之際,感覺早就做了決定。

● 決定走一條嶄新的道路,有可能會導致令人痛苦難受的後果。這個時候就需要勇氣與能力!

● 知道你不想要什麼,是做抉擇的第一步。

● 沒有錯失的良機,只有沒做的決定。

● 不想在壓力下做決定,也是一種決定。

● 沒有錯誤的決定,頂多是必須忍受在前往目標的路上多繞些冤枉路。

● 倘若一個人心裡已經有個底,知道要怎麼抉擇,那麼這決定看起來會是什麼樣子?

● 你的決定不可能讓所有人都滿意,但你可以讓自己滿意。

● 只有克服了做抉擇之後的恐懼,才能做出決定。

資產負債表

t1

VBA 中,該如何將文字內容寫入文字檔案?

VBA 中,該如何將文字內容寫入文字檔案?
以範例說明會比較實用:

Dim FileNumber As Integer
Dim strFile As String

FileNumber = FreeFile()
Open strPath & "\" & strFileName For Output As #FileNumber

Print #FileNumber, "<html>"
Print #FileNumber, "<head>"
Print #FileNumber, "   <meta http-equiv=""Content-Language"" content=""zh-tw"">"
Print #FileNumber, "   <meta http-equiv=""Content-Type"" content=""text/html; charset=big5"">"
Print #FileNumber, "   <title>" + frm上傳檔案資料.Form.file_namec + "</title>"
Print #FileNumber, "</head>"
Print #FileNumber, ""
Print #FileNumber, "<body>"
Print #FileNumber, "</body>"
Print #FileNumber, "</html>"

Close #FileNumber

Byte Order Mark (BOM) 須知

 

Bytes

Encoding Form

00 00 FE FF UTF-32, big-endian
FF FE 00 00 UTF-32, little-endian
FE FF UTF-16, big-endian
FF FE UTF-16, little-endian
EF BB BF UTF-8

Byte Order Mark [BOM]:0xFEFF
FE FF
==> High Byte FE
               Lower Byte FF

參考資源:http://www.websina.com/bugzero/kb/unicode-bom.html

產生一個不能正常開啟的 XML 檔案 (2)

在先前"產生一個不能正常開啟的 XML 檔案 (1)" 文章中提到,即使已經產生 Unicode 格式的 XML 檔案。
但是,也無法正常被開啟。
原因是檔案是 UTF-16LE,不是我們所需要的 UTF-8 格式。

要解決這問題,就需要改用 ADO Stream ,而不用 FileSystemObject 。

Write2XML_ADO Stream.vbs
-----------------------------------------------------
Dim oFile
Dim sStr

oFile = "C:\Write_ADO Stream.XML"

sStr = "<?xml version = " & Chr(34) & "1.0" & Chr(34) & " encoding = " & _
    Chr(34) & "UTF-8" & Chr(34) & " ?>" & vbCrlf
sStr = sStr & "<book>" & vbCrlf
sStr = sStr & "</book>" & vbCrlf

Set objADODBStream = CreateObject("ADODB.Stream")
objADODBStream.Charset = "UTF-8"
objADODBStream.Open
objADODBStream.WriteText sStr
objADODBStream.SaveToFile oFile, 2
objADODBStream.Close
Set objADODBStream = Nothing

WScript.Echo "C:\Write_ADO Stream.XML be Created"      

產生一個不能正常開啟的 XML 檔案 (1)

學習 VBScript 過程中,記得有一程式是要產生 XML 檔案。
程式運作後,檔案是產生了,但是卻無法正常開啟。

Write2XML.vbs
-------------------------
Const ForReading = 1, ForWriting = 2, TristateTrue = -1, TristateOff = 0
Dim oFSO,oFile,strg,re
Dim sStr

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile("C:\Write.XML", ForWriting, True, TristateTrue)

sStr = "<?xml version = " & Chr(34) & "1.0" & Chr(34) & " encoding = " & _
    Chr(34) & "UTF-8" & Chr(34) & " ?>" & vbCrlf
sStr = sStr & "<book>" & vbCrlf
sStr = sStr & "</book>" & vbCrlf

oFile.WriteLine sStr

WScript.Echo "C:\Write.XML be Created"       

oFile.Close
Set oFile = Nothing

這程式使用的參數 TristateTrue 來產生 Unicode 檔案,但是此時的 Unicode 是 UTF-16 LE,而不是 UTF-8
所以,就無法以點擊滑鼠兩次的方式來開啟該 XML 檔案。