Python 文件学习笔记
程序1
在上一题的基础上扩展,用户可以随意输入要显示的行数。
如输入2:5表示打印第2行到第5行的内容;
输入:2表示打印从开头到第2行的内容;
输入4:表示打印从第4行到结尾的内容;
输入:表示打印全部的内容
方法2:
def file_read(filepath,line):
#统计一共多少行
maxline= len(open(filepath).readlines())
if line.strip()==":":
begin=1
end=maxline
(begin,end)=line.split(":")
if begin=='':
begin=1
if end=='':
end=maxline
print(end) if begin==1 and end==maxline:
t='的全文'
elif begin==1:
t='从开始到第%s行'%end
elif end=='':
t='从第%s行到结束'%begin
else:
t='从第%s行到第%s行'%(begin,end) print('文件%s%s的内容如下'%(filepath,t)) with open(filepath, 'r') as fd:
lnum = 0
for line in fd:
lnum += 1;
if (lnum >= int(begin)) and (lnum <= int(end)):
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:
def file_replace(filename,fstr,rstr):
f=open(filename)
content=[]
count=0 for eachline in f.read():
if fstr in eachline:
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)) if decide in ['yes','Yes','YES']:
f=open(filename,'w')
f.writelines(content)
f.close() filename=input("请输入文件名:")
fstr=input("请输入要替换的单词或字符:")
rstr=input("请输入要新的单词或字符:")
file_replace(filename,fstr,rstr)
方法2:
import re
#python 正则表达式 re findall 方法
# 能够以列表的形式返回能匹配的子串。 def find_str(filename,fstr):
#统计找到的字符数
count_fstr=0
f=open('E:/%s'%filename)
strtemp=f.readlines()
for i in strtemp:
counti=re.findall(fstr,i)
if len(counti)>0:
count_fstr+=len(counti) f.close()
print("文件%s中共有%d个%s"%(filename,count_fstr,fstr)) def replase_str(filename,fstr,rstr):
#替换
print('开始替换....')
f1=open('E:/%s'%filename,'r')
fb1=open('E:/backup/%s'%filename,'w')
strtemp2=f1.readlines()
for i in strtemp2:
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: ")
if flag in ['yes','Yes','YES']:
replase_str(filename,fstr,rstr)
else:
print('游戏结束!')
欢迎关注我的公众号:软件测试经验与教训。

Python 文件学习笔记的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- Python Click 学习笔记(转)
原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...
- Python Flask学习笔记之模板
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...
- Python Flask学习笔记之Hello World
Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...
- PHP操作XML文件学习笔记
原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Python文件学习
Python文件学习 文章 Python文件学习 open函数 基本的用法模式:file_object=open('',access_mode='r',buffering=-1) 其中access_m ...
- 获取字段唯一值工具- -ArcPy和Python案例学习笔记
获取字段唯一值工具- -ArcPy和Python案例学习笔记 目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...
- Python高级学习笔记
Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...
随机推荐
- 常用网络名词mark & 网络学习笔记
自 治 系 统 ( A S, A utonomous System ) IGP 内部网关协议 I n t e r i o r G a t e w a y P r o t o c o l 域 内 选 路 ...
- IDEA 在某个工程下一个module如何使用另一个module中的资源文件(.xml .prop等)
问题如题,经google,解决方案有四种,选择了比较直观有效的一种罗列如下: 因为项目采用maven管理,所以我们可以在module2下的pom.xml制定<resources>的路径,让 ...
- SAP的战略企业管理功能介绍
目 录 1. 总述 2. SAP SEM- 战略管理 3. SAP SEM- 绩效测评 4. SAP SEM- 业务合并 5. ...
- 「下载神器」aria2 懒人安装教程 [Windows]
是一款开源.轻量级的多协议命令行下载工具,支持 HTTP/HTTPS.FTP.SFTP.BitTorrent 和 Metalink 协议,拥有众多第三方支持插件,被誉为「下一代下载工具」和「下载神器」 ...
- (转) 解密H264、AAC硬件解码的关键扩展数据处理
出自:http://blog.itpub.net/30168498/viewspace-1576794/ 通过上一篇文章,我们用ffmpeg分离出一个多媒体容器中的音视频数据,但是很可能这 ...
- Android中的缩略图加载-不浪费一点多余的内存
1. Why,为什么要加载缩略图? 有的时候不需要展示原图,只需展示图片的缩略图,可以节省内存.比如:网易新闻中的图片浏览,左边展示的小狮子图片就是一个缩略图,点击这个图片,才会展示原图. 2. ...
- Python——eventlet.greenpool
该模块提供对 greenthread 池的支持. greenthread 池提供了一定数量的备用 greenthread ,有效限制了孵化 greenthread 过多导致的内存不足,当池子中没有足够 ...
- Build opencv libraries for android arm, x86 ubuntu
废话不多说. 准备工作: 1. 下载源代码: http://opencv.org/ 编译平台:ubuntu14.04 opencv 2.4.6.1 本人用这样的办法编译了opecv 2.4.9 的没有 ...
- CURL 常用参数
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具. 1.查看响应头信息: -I :显示http response的头信息. [root@l ...
- EJB部署规则报错
javax.naming.NameNotFoundException: Unable to resolve 'RuleDeployer'. Resolved ''; remaining name 'R ...