17如何对字符串进行左, 右, 居中对齐 18如何去掉字符串中不需要的字符 19如何读写文本文件 20如何处理二进制文件 21如何设置文件的缓冲
Posted 爬行的龟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17如何对字符串进行左, 右, 居中对齐 18如何去掉字符串中不需要的字符 19如何读写文本文件 20如何处理二进制文件 21如何设置文件的缓冲相关的知识,希望对你有一定的参考价值。
17、如何对字符串进行左, 右, 居中对齐
info = "GBK" print(info.ljust(20)) print(info.ljust(20,\'#\')) print(info.rjust(20,\'#\')) print(info.center(20,"#")) print(format(info,\'<20\')) print(format(info,\'>20\')) print(format(info,\'^20\')) result: GBK GBK################# #################GBK ########GBK######### GBK GBK GBK
18、如何去掉字符串中不需要的字符
PS:方法四 在py3里已经不支持删除多种字符串了,只保留给字符串重新映射
#strip删除两边,lstrip删除左边,rstrip删除右边,只能删除两端的 info = " GBK " print(info.strip(),info.lstrip(),info.rstrip()) info2 = "+++GBK---" print(info.strip(\'+-\')) #删除::str切片+拼接 info3 = "abc::def" print(info3[:3]+info3[5:]) #replace方法可以替换str中间的字符,一次只能替换一种 info4 = "afsd\\$asdf\\$asdf\\^asdf" print(info4.replace(\'\\$\',\'\')) #使用re.sub可以一次替换多种 import re print(re.sub(\'[\\$\\^]\',\'\',info4)) #使用translate替换,translate有个功能,可以给str加入映射表,达到进行加密的目的 print(str.maketrans(\'abcxyz\',\'xyzabc\')) info5 = \'abcxy\\tz\\r6\\n66gggxyz\' print(info5.translate(str.maketrans(\'abcxyz\',\'xyzabc\'))) 结果: GBK GBK GBK GBK abcdef afsdasdfasdf\\^asdf afsd\\asdf\\asdf\\asdf {97: 120, 98: 121, 99: 122, 120: 97, 121: 98, 122: 99} 6 66gggabc
19、如何读写文本文件
python2中,默认编码是unicode编码,这种编码不能直接存储物理硬件(磁盘的扇区、网络的socket)中,需要转换成string(由连续的字节组成)
info = u\'你好\' print(info) print(info.encode(\'utf-8\'))
result:
你好
b\'\\xe4\\xbd\\xa0\\xe5\\xa5\\xbd\'
在py2中,如果没有编码成str,数据不能写进文件中
info = u\'你好\' with open(\'H3\',\'w\') as f: #存入文件前,需要先编码成str f.write(info) retsult: Traceback (most recent call last): File "C:/laoni/PycharmProjects/Pythontest/test2.py", line 46, in <module> f.write(info) UnicodeEncodeError: \'ascii\' codec can\'t encode characters in position 0-1: ordinal not in range(128)
读取文件也需要解码:
with open(\'H3\',\'r\') as f2:
t = f2.read()
print(t.decode(\'utf8\'))
在py3中 py2的str变成了byte,unicode变成了str(真正意义上的连续字符串),在py3 表示byte需要在字符串前加个b
在py2中需要加个u\'\'表示unicode字符串,而py3中默认就是unicode(也就是str),不需要添加。
在py3中open函数功能更强大,可以使用encoding指定编码格式
info = \'你好\' #open通过encoding参数自动编码成utf8 with open(\'H3\',\'wt\',encoding=\'utf8\') as f: f.write(info) #读取文件的时候,自动解码成utf8,不要和上面存入时的编码搞混,文件里的数据显示的是连续的字节 with open(\'H3\',\'rt\',encoding=\'utf8\') as f2: print(f2.read())
20、如何处理二进制文件
21、如何设置文件的缓冲
#全缓冲 f = open("demo.txt",\'w\',buffering=2000) f.write(\'+\' *2001) #行缓冲 f2 =open("demo.txt",\'w\',buffering=1) #无缓冲 f3 = open("demo.txt",\'w\',buffering=0)
以上是关于17如何对字符串进行左, 右, 居中对齐 18如何去掉字符串中不需要的字符 19如何读写文本文件 20如何处理二进制文件 21如何设置文件的缓冲的主要内容,如果未能解决你的问题,请参考以下文章
word2010插入公式以后无法调整公式左对齐、居中、右对齐等等,如何解决?