文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范
f.replace()
with open("xxx","r",encoding="utf-8") as f:
想修改文件中间的数据,有两个办法
1、将文件全部加载到内存,然后就可以直接修改编辑了,比如linux的vi,vim就是这个方法,不过效率很低,因为需要把文件的所有内容全部加载到内存。第一次打开的时候非常慢,或者内存不足。
2、将文件导入到变量里,然后变量编辑完以后,写到一个新文件里去。我们一般都用这种方法。


结果:

想linux实现的sed的功能,也就是命令行后面想导入2个参数,sys.argv[1],sys.argv[2]

为了避免打开文件后忘记关闭,可以通过with管理上下文,即:这个时候可以不用关闭文件。

上面的两个写法效果是一样的,只是上面的那种写法必须手动关闭文件,但是下面的写法可以不用写
下面的写法会产生一个with模块,注意有自动缩紧,这个模块结束,会自动关闭文件。
with也可以同时打开多个文件,如下图,多个文件之间用逗号来间隔“,”

但是你要注意,python规定一行的代码不能超过80个字符。如果代码太长的话,应该用“\”字符来换行!!!写法如下:

但是如果你的代码是在一个括号里的,比如都在(),那么是可以直接换行的,不用“\”来换行,如下图:

描述
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
语法
replace()方法语法:
str.replace(old, new[, max])
参数
- old -- 将被替换的子字符串。
- new -- 新字符串,用于替换old子字符串。
- max -- 可选字符串, 替换不超过 max 次
返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
实例
以下实例展示了replace()函数的使用方法:
#!/usr/bin/python3 str = "www.w3cschool.cc"
print ("菜鸟教程新地址:", str)
print ("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com")) str = "this is string example....wow!!!"
print (str.replace("is", "was", 3))
以上实例输出结果如下:
菜鸟教程新地址: www.w3cschool.cc
菜鸟教程新地址: www.runoob.com
thwas was string example....wow!!!
文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范的更多相关文章
- 5.Python文件操作之增删改查
需求一:取文件的前几行: f = open("yesterday","r",encoding="utf-8") for i in range ...
- 用dom4j解析xml文件并执行增删改查操作
转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- js操作indexedDB增删改查示例
js操作indexedDB增删改查示例 if ('indexedDB' in window) { // 如果数据库不存在则创建,如果存在但是version更大,会自动升级不会复制原来的版本 var r ...
- MySQL数据分析(16)— 数据操作之增删改查
前面我们说学习MySQL要从三个层面,四大逻辑来学,三个层面就是库层面,表层面和数据层面对吧,数据库里放数据表,表里放数据是吧,大家可以回忆PPT中jacky的这图,我们已经学完了库层面和表层面,从本 ...
- Redis简单的数据操作(增删改查)
#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...
- 洗礼灵魂,修炼python(91)-- 知识拾遗篇 —— pymysql模块之python操作mysql增删改查
首先你得学会基本的mysql操作语句:mysql学习 其次,python要想操作mysql,靠python的内置模块是不行的,而如果通过os模块调用cmd命令虽然原理上是可以的,但是还是不太方便,那么 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- MySQL 之基础操作及增删改查等
一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...
随机推荐
- appium自动化测试(五)
1. 页面封装——理性判断 2. basepage——定位表达式的判断——要加上移动端的,加上上下左右滑动封装.toast可以封装.webview切换操作 3. 页面当中,所有元素定位——更换——移动 ...
- 离线安装Chrome扩展和App
------------------离线安装扩展------------------下载1. 用Get CRX扩展到Web Store页,点开一个扩展,右键 Get CRX 可将扩展下载到本机.2. ...
- JavaScript高级程序设计读后感(一)
一.什么是JavaScript? 本质? 历史? 表单验证发展成为一门语言 局限性?
- SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://blog.csdn.net/forezp. http://blog.csdn.net/forezp/art ...
- New Concept English three (42)
21 33 Cave exploration, or pot-holing, as it has come to be known, is a relatively new sport. Perhap ...
- 简要谈谈javascript bind 方法
最近去参加了场面试,跟面试官聊了很多JS基础上的东西,其中有个问题是谈谈对apply.call.bind的理解和区别.顿时一愣,apply.call我知道,经常用的东西,bind是什么鬼!!!好像见过 ...
- WebForms UnobtrusiveValidationMode 需要“jQuery”ScriptResourceMapping。
.net framework4.5开发中, Unobtrusive ValidationMode是一种隐式的验证方式,需要前端调用jquery来进行身份验证.且默认启用. 解决方法如下 方法一: 修改 ...
- jmeter 查看提取的参数
需求:查看“传入的参数”或者“正则表达提取的参数”等...... 解决:添加Debug Sampler组件,不需要配置,直接使用默认 1.使用CSV Data Set Config组件“传入的参数”直 ...
- js 扩展实例
//扩展实例1 字符串中首字符转大写 var test=' this is '; String.prototype.mytrim=function(){ var re=/^\s+(.*?)\s+$/; ...
- Helix Server 支持的文件格式
比如,对于WMV格式的文件,访问路径可以是:mms://192.168.1.1/mov/music.wmv 对于rm格式的文件rtsp://192.168.1.1/mov/123.rm 但,比如对于格 ...