2013-08-23 100 views
0

我一直在试图找出一个Python的问题,这让我疯狂了几个星期... 我有一个文本文件,体量适中。一些行有超过50个字符,这对我来说是一个问题,因为它必须与文本框对齐。Python插入新行,如果行有超过50个字符

我的问题是: 如果文本文件上的一行超过50个字符(包括空格),如何设置插入新行(\ n)?

在此先感谢。

回答

5

这应该做的伎俩

with open('path/to/input') as infile, open('path/to/output', 'w') as outfile: 
    for line in infile: 
    if len(line) > 50: 
     outfile.write('\n'.join(line[i:i+50] for i in xrange(0,len(line), 50))) 
    else: 
     outfile.write(line) 
+0

太棒了!谢谢!像魅力一样工作 – Den1al

+0

肯定会做:) – Den1al

+0

你这样分词。 – joaquin

7

设有一个图书馆这一点。请尝试以下操作:

import textwrap 

wrapped = textwrap.fill(YourText, 50) 
+0

这种方法对我而言并不奏效,因为即使只有2个字符的行,它也会每隔50个字符输入一行。 – Den1al

+0

上面假设'YourText'是一个单独的段落。 –

相关问题