编程 · 21 6 月, 2024 0

Python代码速查:一些实用但时常想不起来的操作(连载中)

列表

把列表平分成m份

from math import ceil
def chunks(arr, m):
    n = int(ceil(len(arr) / float(m)))
    return [arr[i:i + n] for i in range(0, len(arr), n)]

字符编码

时刻牢记:
encode()是把字符串转换成字节码
decode()是把字节码转换成字符串
只有print()字符串才能显示出人话

将ZIP内文件名转换成UTF-8编码字符串

ZIP文件中的文件名只能在解压软件中正常显示,因为使用了非常反人类的编码。
想在外面的世界正常打印必须进行编码转换。

# 一般用于ZIP文件解压
FNAME.encode('cp437').decode('utf-8')

将UTF-8编码字符串转换成ZIP内文件名

# 一般用于ZIP内文件查找
FNAME.encode('utf-8').decode('cp437')

字符串操作

清除首尾转义字符

# 一般用于优雅地去除读取文件中的换行
STRING.strip()

日期与时间

将字符串转换为时间日期类型

from datetime import datetime
start_time_str = '12:30:00'
start_time = datetime.strptime(start_time_str, '%H:%M:%S')
# 欢迎举一反三

计算时间差(秒)

# 计算对象为时间日期类型,返回整型
time_difference = (end_time - start_time).total_seconds()