open()方法。
打开文件,读取和写入 函数语法 open(filename[, mode[, buffering]])
name:包含要访问文件名称的字符串的值
mode:决定打开文件的模式:只读(r),写入(w),追加。这个参数非强制新的,默认文件的访问模式为只读
r:已只读方式打开文件。文件指针放在文件的开头。这是默认模式。
rb:以二进制格式打开一个文件用于只读,文件指针放在文件开头。这是默认模式,一般用于非文本文件如图片等。
w:打开一个文件只用于写入,如果该文件存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件。
wb:已二进制文件格式打开一个文件,如果该文件存在则打开文件,从开头开始编辑,原有内容会被删除,古国文件不存在,创建新文件。一般用于非文本图片等。
file 对象方法
file.read([size]):size未指定则返回整个文件,如果文件大小>2倍内存则有问题,
filereadline():返回一行
filereadlines()[size]:返回包含size行的列表,未指定则返回全部。
file.write(""):如果要写入字符串以外的数据,先将他转换为字符串
f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的字节数)。
find()方法。
检测字符串是否包含子字符串str,如果包含子字符串,返回开始的索引值,否则返回-1
find()方法语法:str.find(str, beg=0, end=len(string))
str:指定检索的字符串。
beg:开始索引,默认为0
end:结束索引,默认为字符串长度
replace()方法
替换字符串。str.replace(oldstr, newstr[, num])
str:源字符串,需要使用replace()的字符串;
oldstr:需要被替换的字符串;
newstr:用来替换的新字符串;
num:可选参数,指定替换次数,替换次数不超过该指定数字。
实例:替换文件指定内容
# 有一个test.txt文件内容为: 查找在字符串里第一个出现的子串并替换
# 打开文件,读取文件
with open('test.txt', mode='r') as f:
data = f.read()
print(data)
# 获取开始索引和结束索引,获得需要替换的值
index = data.find('字符串里')
start = index + len('字符串里')
end = data.find('出现', start)
str1 = data[start:end]
str2 = '第个十百千个个' # 需要替换的值
data_new = data.replace(str1, str2)
print(data_new)
# 把修改的内容写入test.txt
with open('test.txt', mode='w') as f:
f.write(data_new)