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.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...
随机推荐
- flarum论坛系统搭建教程
安装 PHP 5.5+ and MySQL 5.5+, and install Composer. composer create-project flarum/flarum . --stabilit ...
- 微信小程序滚动Tab实现左右可滑动切换
--------------------------------------------------------wxml---------------------------------------- ...
- jquery 回车事件实现代码
// 键盘事件 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件 3.keypress() ke ...
- 微信小程序——文本的展开与收起
动态效果如下: 就是默认只显示4行,点击展开的按钮显示全部,再点击隐藏. 主要通过css来控制 主要的css: .flex-text{ margin-top: 10px; display: -webk ...
- grub的boot loader安装在磁盘上的位置
在很多资料上介绍grub的引导过程时,都是:bios->MBR->boot loaderboot loader是grub或者lilo.但是他是放在什么位置?很多资料上都没有标明. 通过阅读 ...
- tensorflow prelu的实现细节
tensorflow prelu的实现细节 output = tf.nn.leaky_relu(input, alpha=tf_gamma_data,name=name) #tf.nn.leaky_r ...
- (笔记)Linux下的静态库和动态库使用详解
库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静态库和动态库的区别 1. 静态函数库 这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比 ...
- (转)Android 5.1.1 源码目录结构
转自:http://blog.csdn.net/tfslovexizi/article/details/51888458最近公司培训新同事,我负责整理一点关于android的基础知识,遥想当年,刚接触 ...
- Python——hmac
该模块在Python中实现 RFC 2104 中规范的 HMAC 算法. 目录 一.HMAC 对象 1. HMAC.update() 2. HMAC.digest() 3. HMAC.hexdiges ...
- Oracle触发器给表自身的字段重新赋值出现ORA-04091异常
业务描述如下: 在插入一个表的时候,需要根据一个字段的值更新另一个字段的值.当然也可以通过程序就能很简单得实现,只是这个字段只是数据交换用,和系统主业务没关系,不想修改程序,所以才用触发器的方式实现. ...