全部产品
阿里云办公

中文和时间

更新时间:2018-07-13 18:58:22

中文

在Python代码中如果使用了中文字符,运行时会出错。因此,您需要在代码的开头部分加入字符编码的声明,例如:

  1. # -*- coding: utf-8 -*-

数据类型

Python 2.x中以下数据类型支持中文:

数据类型 描述
str 字符串。
unicode unicode流。其长度是字符数,如u'中文'的长度是2。

Python 3.x中以下数据类型支持中文:

数据类型 描述
str 字符串。
bytes 字节流。其长度是字节数,如b'中文'的长度取决于编码,如果是UTF-8编码,则为6。

输入、输出类型约定

输入类型约定如下:

输入 类型 备注
OSS文件名 str 如为bytes,要求是UTF-8编码。
本地文件名 str, unicode 如为bytes,要求是UTF-8编码,例如bucket.get_object_to_file里的youLocalFile参数。
输入数据流 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()方法进行时间转换,得到时间戳字符串。

本文导读目录