Python学习笔记-文件替换

2

1

8

新年愿望

所以,看在小编这么凄苦的份上,是不是应该支持一下

程序1

在上一题的基础上扩展,用户可以随意输入要显示的行数。

如输入2:5表示打印第2行到第5行的内容;

输入:2表示打印从开头到第2行的内容;

输入4:表示打印从第4行到结尾的内容;

输入:表示打印全部的内容

方法2:

deffile_read(filepath,line):

#统计一共多少行

maxline=len(open(filepath).readlines())

ifline.strip()==":":

begin=1

end=maxline

(begin,end)=line.split(":")

ifbegin=='':

begin=1

ifend=='':

end=maxline

print(end)

ifbegin==1andend==maxline:

t='的全文'

elifbegin==1:

t='从开始到第%s行'%end

elifend=='':

t='从第%s行到结束'%begin

else:

t='从第%s行到第%s行'%(begin,end)

print('文件%s%s的内容如下'%(filepath,t))

withopen(filepath,'r')asfd:

lnum =

forlineinfd:

lnum +=1;

if(lnum >=int(begin))and(lnum

print(line)

line

fd.close()

file=input(r'请输入要打印的文件路径:如(E:/file4.txt)')

linetemp=input(r'请输入要打印的行数,如(2:5或:2或3:)')

file_read(file,linetemp)

python读文件的三个方法read()、readline()、readlines()详解

http://blog.csdn.net/u010039733/article/details/47858189

python 文件读写查找、替换相关简单操作

http://blog.csdn.net/liangrui1988/article/details/49539137

程序2

编写一个程序,实现“全部替换的功能”,程序运行图如下:

方法1:

deffile_replace(filename,fstr,rstr):

f=open(filename)

content=[]

count=

foreachlineinf.read():

iffstrineachline:

count=eachline.count(fstr)

eachline=eachline.replace(fstr,rstr)

content.append(eachline)

decide=input('\n文件%s中共有%s个【%s】\n您确定'\

'要把所有的%s替换为%s吗?\n【yes or no】 '\

%(filename,count,fstr,fstr,rstr))

ifdecidein['yes','Yes','YES']:

f=open(filename,'w')

f.writelines(content)

f.close()

filename=input("请输入文件名:")

fstr=input("请输入要替换的单词或字符:")

rstr=input("请输入要新的单词或字符:")

file_replace(filename,fstr,rstr)

方法2:

importre

#python 正则表达式 re findall 方法

# 能够以列表的形式返回能匹配的子串。

deffind_str(filename,fstr):

#统计找到的字符数

count_fstr=

f=open('E:/%s'%filename)

strtemp=f.readlines()

foriinstrtemp:

counti=re.findall(fstr,i)

iflen(counti)>:

count_fstr+=len(counti)

f.close()

print("文件%s中共有%d个%s"%(filename,count_fstr,fstr))

defreplase_str(filename,fstr,rstr):

#替换

print('开始替换....')

f1=open('E:/%s'%filename,'r')

fb1=open('E:/backup/%s'%filename,'w')

strtemp2=f1.readlines()

foriinstrtemp2:

fb1.write(i.replace(fstr,rstr))

print('替换完毕!')

f1.close()

fb1.close()

filename=input("请输入文件名:")

fstr=input("请输入要替换的单词或字符:")

rstr=input("请输入要新的单词或字符:")

#统计字符

find_str(filename,fstr)

#判断是否替换

print('确定要把所有"%s"替换为"%s"吗?'% (fstr,rstr))

flag =input("YES/NO: ")

ifflagin['yes','Yes','YES']:

replase_str(filename,fstr,rstr)

else:

print('游戏结束!')

佛系二维码

千千万万的公众号中

能被你识别都是缘分

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180109G0QGME00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动