文件处理相关
2019-03-09 本文已影响1人
飞鸟在笼
r和rb的区别是什么?
rb是以二进制的形式打开,显示的是字符串。
而r是以文本的形式打开
解释一下以下三个参数的分别作用
open(f_name,'r',encoding="utf-8")
打开文件名f_name,只读模式打开,且是以文本模式打开,以utf-8编码打开
练习题1 —— 全局替换程序:
# 写一个脚本,允许用户按以下方式执行时,即可以对指定文件内容进行全局替换
# python your_script.py old_str new_str filename`
# 替换完毕后打印替换了多少处内容
# 此程序支持txt的文件
import os
def your_script():
while True:
old_str, new_str, filename =input("请按照格式要求输入需要替换的命令:").split()
filename = filename+".txt"
f_new_name ="new%s" % filename
f =open(filename,"r",encoding="utf-8")
f_new =open(f_new_name,"w",encoding="utf-8")
count =0
for linein f:
while old_strin line:
line = line.replace(old_str, new_str,1)
count +=1
f_new.write(line)
f.close()
f_new.close()
os.remove(filename)
os.rename(f_new_name, filename)
print("此次替换了%d次。" % count)
your_script()