老男孩Python全栈

文件处理相关

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()

上一篇 下一篇

猜你喜欢

热点阅读