python文件操作_read()与readlines(),write()与writelines()方法的差异

python文件操作:read()与readlines()均可从文件读取所有数据,write()与writelines()方法均可以向文件写入多行数据,那么它们之间有哪些差异呢?

 

一、从文件读取所有数据:read()与readlines()方法的差异

示例文件:

 

 

read()方法读取文件所有数据:当read()方法不指定读取的字节数时,可一次将文件中所有数据读取出来

运行结果

debug调试查看读取的数据

 

可以看到使用read()方法读取出来的数据是一个包含了换行符("\n")的str类型字符串,每一行的换行符均包含在该字符串中

 

 

readlines()方法读取文件中所有数据

运行结果

debug调试查看读取的数据

 

 可以看到使用readlines()方法读取出来的数据是一个字符串列表,列表中的每一个元素均是文件中的一行数据,每一个元素均包含了文件中每行的换行符("\n")

 

 

 

read()方法与readlines()方法读取文件所有数据时的差异:

使用read()方法读取文件所有数据,文件指针返回的是一个字符串,文件中所有行均包含在这个字符串中,而使用readlines()方法读取文件所有数据,文件指针将返回一个字符串列表(列表中所有元素均是str类型),文件指针将会把文件中的每一行内容(包含每行的换行符)存放到列表中返回。虽然两种方法均可一次读取文件中所有数据,但如果要对读取出来的数据做后续处理时,使用read()方法将不好处理读取的数据,而使用readlines()方法将会更方便。

 

 

二、向文件写入多行数据

 

示例:向文件写入以下两行数据(以下每行数据均是str类型)

url:/futureloan/mvc/api/member/register@mobile:18866668888@pwd:123456
url:/futureloan/mvc/api/member/recharge@mobile:18866668888@amount:1000
 

write()方法写入多行数据:要写入的数据中包含每一行中的换行符时,可以实现与writelines()方法向文件写入多行数据

debug查看写入的数据

写入结果

 

从结果可以看出,若要使用write()方法实现向文件写入多行数据,要么先把所有行数据带上换行符后再拼接成一个字符串一次性写入,另一种方法是使用for循环遍历一行一行写入,但无论使用哪种方法,write()方法内的参数都必须是str类型数据

 

 

writelines()方法写入多行数据

运行结果

写入结果

 

从结果可以看出,使用writelines()方法可以一次向文件写入多行数据,且writelines()方法内的参数可以是一个字符串列表,也可以是一个字符串(若不包含换行符则只写入到一行中,若包含换行符则将写入多行),且列表中每个字符串元素均带有换行符,列表中每一个元素被视为一行数据写入到文件中

 

write()方法与writelines()方法写入多行数据总结:

使用write()与writelines()方法均可向文件写入多行数据,不同的是:write()方法必须传递的是一个字符串参数,而使用writelines()方法可传递一个字符串参数  一个字符串列表;即:使用read()方法读出来的数据可通过write()方法与writelines()方法写入至文件,则使用readlines()方法读取出来的数据只能使用writelines()方法写入至文件

 

posted @ 2020-09-16 17:08  Rachel_0226  阅读(917)  评论(0编辑  收藏  举报