全部產品
Search
文件中心

Object Storage Service:Python中文和時間

更新時間:Feb 28, 2024

本文介紹使用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()方法進行時間轉換,得到時間戳記字串。