python程序写的工程中遇到的问题记录

本文深入探讨了Python编程中的关键技巧,包括字符串操作、文件读写、正则表达式使用、列表操作及字符串查找等核心内容,通过实例解析,帮助读者掌握Python编程的基本技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试系统 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值