标签:python file split concatenation string
我正在使用Python 2.5并尝试创建一个名为total的变量并向其中添加三个文件.然后我压缩总数并将其转换为十六进制并将其拆分为最大长度为4096个字符的字符串列表.
目前我有一个文件列表,我以这种方式将它连接到总数
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来说我是一个新手.
非常感谢
解决方法:
我个人最喜欢的是列表理解:
msglist = [ hextotal[i:i+4096] for i in range(0,len(hextotal),4096) ]
标签:python,file,split,concatenation,string 来源: https://codeday.me/bug/20190614/1236711.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。