测试系统 win7 64 位,pycharm 2018
1 字符串 替换 将被替换的内容,替换为空
# -*- coding:utf-8 -*-
abc = ''
str = 'hellA$(abc)CD'
print str.replace('$(abc)',abc)
输出:
hellACD
2 写文件 ‘\r\n’ 和 '\n’的区别
代码如下:
# -*- coding:utf-8 -*-
strfilename = 'note123.txt'
writeLines = ''
writeLines = '123456' + '\n' + 'abcdefg' + '\n'
with open(strfilename, "w") as f_wa:
f_wa.writelines(writeLines)
写后的效果:
修改代码:
# -*- coding:utf-8 -*-
strfilename = 'note123.txt'
writeLines = ''
writeLines = '123456' + '\r\n' + 'abcdefg' + '\n'
with open(strfilename, "w") as f_wa:
f_wa.writelines(writeLines)
可以发现,在写入的时候,将 ‘\n’ 解释为 '\r\n’了
然后 ‘\r\n’,就被解释为 '\r\r\n’了
3 读文件 ‘\r\n’ 和 '\r’的区别
CR— ‘\r’
LF — ‘\n’
是在win7 64位下面测试的
文件内容如下:
# -*- coding:utf-8 -*-
## 读取整个待修改文件的内容到rdlines中去
modifyFileName = 'note125.txt'
with open(modifyFileName, "r") as f:
rdlines = f.readlines()
count = len(rdlines)
index = 0
while index <= count -1:
print index
print '###########'
print rdlines[index]
print '***********'
print len(rdlines[index])
print '==========='
print
print
index = index + 1
解析结果: 解析出来 一共是两行,其中 ‘123456\r\r\n’ 算是一行
0
###########
123456
***********
8
===========
1
###########
abcdefg
***********
8
===========
4 正则表达式找到所有匹配的项目:re.findall
# -*- coding:utf-8 -*-
import re
## 读取整个待修改文件的内容到rdlines中去
pattern = '\$\(.+?\)'
line = '123$(abc)456$(home)789$(abc)hhh$(code)kkk'
resultList = re.findall(pattern, line)
print resultList
效果
['$(abc)', '$(home)', '$(abc)', '$(code)']
5 字符串 split没有那个分隔符怎么办 ?
# -*- coding:utf-8 -*-
str = 'abcfge'
lst = str.split('3')
print lst
结果:
['abcfge']
6 字符串 切片
代码:
# -*- coding:utf-8 -*-
str = '0123456789'
print str[0:3]
print str[2:5]
结果:
012
234
7 列表切片
# -*- coding:utf-8 -*-
lst = ['0','1','2','3','4','5','6','7','8']
print lst[0:3]
print lst[2:5]
结果:
['0', '1', '2']
['2', '3', '4']
8 字符串 find 有多个匹配的情况
# -*- coding:utf-8 -*-
stt = '123abc456abc789abc'
num = stt.find('abc')
print num
结果:
3
9 字符串 长度不够 切片的情况
# -*- coding:utf-8 -*-
stt = '1'
print stt[0:5]
结果:
1