我正在使用Python 2.5版本,尝试创建一个名为total的变量,并将三个文件添加到其中。然后我会压缩total并将其转换为十六进制,并将其拆分成一个字符串列表,每个字符串最大长度为4096个字符。
目前,我有一个文件列表,并按如下方式将其全部连接到total中。
目前,我有一个文件列表,并按如下方式将其全部连接到total中。
filelist = ['debug.log', 'error.log', 'reclog.log'];
total = ''
for files in filelist:
f = open(files, 'r');
total = total + f.read();
f.close();
compressedtotal = zlib.compress(total);
hextotal = compressedtotal.encode('hex');
到目前为止,我感觉我做得很高效。但是,我尝试将hextotal拆分成一个名为msglist的字符串列表。但是,msglist中每个字符串的最大长度不应超过4096个字符。
if len(hextotal)%4096 >0 : checker = 1;
else: checker = 0;
nmsgs = int(math.ceil(len(hextotal)/4096));
nn = str(nmsgs);
msglist = [];
for msgs in range(1,nmsgs+1):
if msgs == nmsgs and checker == 1:
msglist.append(hextotal[4096*(msgs-1):]);
else: msglist.append(hextotal[4096*(msgs-1):4096*(msgs)]);
有一种更简单的方法,因为这不是“pythonic”,而我对Python还很新手。非常感谢。