将用awk编写的文本处理代码转换为python?

Converting a text processing code written in awk to python?

以下代码片段将一个文本文件转换为另一个文本文件,但在指定的字段宽度后添加了分隔符。

gawk 'BEGIN{FIELDWIDTHS="1 26 1 26 26 26 26 18 2 5 4 7 10 16 4 4 10 2 6 1 1 1 1 10 10 4 11 3 1 1 2 10 10 10 1 1 10 20 10 1 1 1 1 15 16 10 50 13 1 60"}{print "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" "|" }' 关于如何将它转换为 python,我有几种方法,但我需要一个我应该去的方向。提前致谢!

以下函数与 gawk 代码段的功能相同 -

def chunkstring(string, lengths): return (string[pos:pos+length] for idx,length in enumerate(lengths) for pos in [sum(map(int, lengths[:idx]))]) column_lengths = [1,26,1,26,26,26,26,18,2,5,4,7,10,16,4,4,10,2,6,1,1,1,1,10,10,4,11,3,1,1,2,10,10,10,1,1,10,20,10,1,1,1,1,15,16,10,50,13,1,60]