python字符串加换行符号,python添加换行符
工作中遇到一个问题:
对话框中显示文字,超出对话框的话就自动换行。
中文下直接判断到了一定长度换行就是了,但是换到英文下就可能出现换行时把单词分割的情况。
嗯。这个问题虽然交给程序改也可以,但是自己动手更加快捷嘛。
所以索性用大蟒编写了下面这个小工具。
说明:
这个工具会读取同一目录下的文本。文本文件(textfile)文本,自动添加换行符号然后导出到out.txt中。
添加换行符时会限制最大行数为5,在添加换行符时自动根据每行字数添加合适的字体大小标签。
实现效果:
使用前:
导出后:
代码贴在下方:
#编码:utf-8
导入编解码器
#换行符
linesign=
#分割长度
线性长度=21
def splitText(splitLentgh,string):
splitList=[]
指数=0
而(索引
str=
if(len(string)index splitLentgh):
str=string[index:index splitLentgh]
否则:
str=string[index:len(string)]
if(str[-1]== 或str[-1]==\n 或海峡。查找()==-1):
splitList.append(str)
指数=索引splitLentgh
否则:
str 2=string[index:index str。rindex()]
splitList.append(str2)
index=index str.rindex( )
返回拆分列表
def tryToMinSplit(splitLentgh,line):
计数=1
str=
拆分列表=拆分文本(splitLentgh,line)
while(len(splitList)=5):
splitLentgh=splitLentgh 1
拆分列表=拆分文本(splitLentgh,line)
如果(计数=5):
破裂
计数=计数一
对于范围内的I(len(拆分列表)):
if(splitList[i][0]== ):
拆分列表[I]=拆分列表[I][1:len(拆分列表[I])]
如果(我
str=splitList[i] linesign
否则:
str=splitList[i][0:-2]
return [count,str]
f2=codecs.open(out.txt , w , utf-8 )
对于codecs.open(text.txt ,encoding=utf-8 ):
如果(行[-1]!=\n ):
line=line \r\n
tempstr=tryToMinSplit(line lenth,line)
打印(临时)
if(tempstr[0]==1):
outstr= tempstr[1] \n
否则:
font size=40-int((int(tempstr[0])* 1.2))
outstr= tempstr[1] \n
f2.write(outstr)
打印(完成!)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。