本文介紹使用Python SDK時所用到的中文和時間知識。
中文
在Python代碼中如果使用了中文字元,運行時會出錯。因此,您需要在代碼的開頭部分加入字元編碼的聲明,例如:
# -*- coding: utf-8 -*-
資料類型
Python 2.x支援以下兩種資料類型:
資料類型
描述
str
字串。對應Python 3.x中的bytes類型。
unicode
unicode流。其長度是字元數,如
u'中文'
的長度是2。Python 3.x支援以下兩種資料類型:
資料類型
描述
str
字串。對應Python 2.x中的unicode類型。
bytes
位元組流。其長度是位元組數,如
b'中文'
的長度取決於編碼,如果是UTF-8編碼,則為6。輸入、輸出類型約定
輸入類型約定如下:
輸入
類型
備忘
OSS檔案名稱
str
如為bytes,要求是UTF-8編碼。
本地檔案名稱
str, unicode
如為bytes,要求是UTF-8編碼,例如bucket.get_object_to_file裡的yourLocalFile參數。
輸入資料流
bytes
例如bucket.put_object裡的data參數。
輸出類型約定如下:
輸出
類型
備忘
解析XML得到的結果
str
例如通過bucket.list_object得到結果中的字串。
下載內容
bytes
Python SDK預設bytes類型經過UTF-8編碼,請確保Python源檔案也是UTF-8編碼。
類型轉換函式
Python SDK提供了三個用於類型轉換的函數:
函數
描述
to_bytes
- Python 2.x中,把unicode轉換為str。其他類型則原值返回。
- Python 3.x中,把str轉換為bytes。其他類型則原值返回。
to_unicode
- Python 2.x中,把str轉換為unicode。其他類型則原值返回。
- Python 3.x中,把bytes轉換為str。其他類型則原值返回。
to_string
Python 2.x中相當於to_bytes。Python 3.x中相當於to_unicode。
時間
Python SDK會把從伺服器獲得的時間戳記字串(datetime.datetime類型的時間)都轉換為Unix Time類型的時間,即自1970年1月1日UTC零點以來的秒數。例如bucket.get_object方法返回結果中的last_modified就是一個int類型的Unix Time。
您可以通過datetime.datetime.fromtimestamp()方法進行時間轉換,得到時間戳記字串。