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.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...
随机推荐
- Materialize快速入门教程
https://materializecss.com/ https://github.com/Dogfalo/materialize http://www.materializecss.cn/ 1,下 ...
- 基于Zookeeper的分步式队列系统集成案例
基于Zookeeper的分步式队列系统集成案例 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, ...
- 关于源码输出,浏览器不解析Html标签
有时候根据需要我们需要看到浏览器上源码效果如: 但是我如果在html中输入 <a href = 'http://www.baidu.com'>百度</a>那么问题来了,总是显示 ...
- 关于Unity中坐标系的种类
坐标空间 1:物体空间: 3D物体自己的坐标空间 一般设计时几何体以中心为原点,人物以双脚为原点; 2: 世界空间: 3D物体在场景中的世界坐标, 整个游戏场景的空间; 3: 摄像机空间: 以观察摄像 ...
- L1&L2 Regularization
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- 【转】【Python】Python中的__init__.py与模块导入(from import 找不到模块的问题)
python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...
- 【Python】python3-list列表引用
print(names) #列出列表的内容 print(names[3]) #访问列表中第4个值 print(names[1:3]) #访问列表中从第2个到第3个的值 print(names[-1]) ...
- Maven自动化部署
在项目开发中,通常是部署过程包含以下步骤 检入代码在建项目全部进入SVN或源代码库中,并标记它. 从SVN下载完整的源代码. 构建应用程序. 生成输出要么WAR或EAR文件存储到一个共同的网络位置. ...
- C# 委托的同步调用和异步调用
委托的Invoke方法用来进行同步调用.同步调用也可以叫阻塞调用,它将阻塞当前线程,然后执行调用,调用完毕后再继续向下进行. 同步调用的例子: using System; using System.T ...
- 大数据:Spark Core(二)Driver上的Task的生成、分配、调度
1. 什么是Task? 在前面的章节里描写叙述过几个角色,Driver(Client),Master,Worker(Executor),Driver会提交Application到Master进行Wor ...