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!!!