编写一个程序, 在一个文本文件中查找长度大于 80 个字符的文本行. 从最接近 80 个字符的单词断行, 把剩余文件插入到下一行处. 程序执行完毕后, 应该没有超过 80 个字符的文本行了
1
laoyuan 2016-11-02 12:33:00 +08:00
整个用空格连起来重新排
|
2
lrh3321 2016-11-02 12:45:15 +08:00
```
line = '12345 ' * 20 # i,j = 0,0 while i < 80: j = i i = line.find(' ',j + 1) print(line[:j]) ``` 从最接近 80 个字符的单词断行 |
3
neoblackcap 2016-11-02 13:17:37 +08:00
这样子格式化小心炸了
|
4
Aliencn 2016-11-02 14:10:22 +08:00
import random
line='1' for a in range(100): line='{} {}'.format(line,'1' * random.randint(0,10)) #print(line) line_list=[] a=80 while True: if len(line) <= 80: line_list.append(line) break if line[a] != ' ': a-=1 else: line_list.append(line[:a]) while line[a] == ' ':a+=1 line=line[a:] a=80 for line in line_list: print('{},len={}'.format(line,len(line))) #从最接近 80 个字符的单词断行 #程序执行完毕后, 应该没有超过 80 个字符的文本行了 |
5
Aliencn 2016-11-02 14:13:16 +08:00
哎呀,发出去就格式乱了,你凑合看吧
|
6
thekoc 2016-11-02 17:21:33 +08:00
|
10
msg7086 2016-11-03 00:12:19 +08:00 1
从 str[80]开始向前找空格,找到以后切下来扔出去就行了。
|
11
ruoyu0088 2016-11-03 06:39:43 +08:00
看看 Python 的标准库 textwrap
|
13
qwer1234asdf 2016-11-03 12:27:17 +08:00 via iPhone
啊……这明明就是一个编辑器该干的事, gedit 设置,两分钟估计就解决了
|