Python中的⽂件读写详解-read、readline、readlines、write、。。。
Python中的⽂件读写详解-read、readline、readlines、write、writelines、with as语句详解
打开⽂件
Python使⽤open语句打开⽂件,传⼊⽂件的(路径)名称,还有两个重要的参数,⼀个是⽂件处理模式(第⼆个参数),⼀个是编码⽅式(encoding=''):
file=open("",'r',encoding='utf-8')
打开⽂件后,可以使⽤
file.name:获取⽂件的名字
其中⽐较重要的参数是⽂件的处理模式,(编码⽅式⼀般可以忽略,保持默认即可),默认是'r',根据读写来⾃⾏传⼊,⽐较常⽤的是如下⼏个参数:
'r'(默认值):读⽂件
'w':写⼊⽂件,如果⽂件已经有内容了,就覆盖原来的内容
'a':在⽂件后追加,不会覆盖原来的内容
'r+':读、写⽂件,初始时光标位于⽂件开头,不会覆盖原内容,⽽且不会创建新⽂件,必须打开已有⽂件
'w+':读、写⽂件,写⼊时,如果⽂件已经有内容了,就覆盖原来的内容
'a+':读、写⽂件,写⼊时,在⽂件后追加,不会覆盖原来的内容writelines()方法将什么写入文件
详细的对⽐可以看这个表格:
模式r r+w w+a a+
读++++
写+++++
创建++++
覆盖++
指针在开始++++
指针在结尾++
关闭⽂件
在使⽤完⽂件后,通常需要使⽤close⽅法关闭⽂件以清理资源:
file.close()
读取⽂件
全部读取
使⽤read()⽅法读取⽂件中的所有内容:
file=open('')
content =ad()
print(content)
file.close()
逐⾏读取,全部保存
使⽤readlines()⽅法将⽂件内容逐⾏读出,保存到⼀个列表中,每⼀⾏保存成⼀个元素:
file=open('')
lines =adlines()
for line in lines:
print(line)
file.close()
逐⾏读取,每次⼀⾏
使⽤readline()⽅法可以将⽂件中的内容逐⾏读取,每次调⽤返回⼀⾏,所以需要遍历来读取全部内容,但是占⽤内存最⼩,因为不是将⽂件中的所有内容⼀次读出:
file=open('')
line =adline()
while line:
print(line)
line =adline()
file.close()
写⼊⽂件
使⽤字符串写⼊
使⽤write()⽅法像⽂件中写⼊⼀个字符串,字符串中可以包括换⾏符(\n)等来设置换⾏等:
file=open('','w')
file.write("hello world 1\nhello world 2")
file.close()
使⽤可迭代对象写⼊
使⽤writelines()⽅法可以传⼊⼀个序列(list、tuple、set等可迭代对象),然后序列中的每⼀个元素依次写⼊⽂件中(注意,换⾏需要⾃⼰写⼊,writelines不会帮你⾃动换⾏,即不会将元素单独成⾏写⼊,⽐如下边例⼦中的第⼀个元素末尾的\n符号):
file=open('','w')
content =['hello world 1\n','hello world 2']
file.writelines(content)
file.close()
使⽤with…as…语句处理⽂件
其实⼀种更好(更优雅)的⽅式是使⽤with…as…的语句来处理⽂件,这样你不必再写close的代码⼿动关闭⽂件,它会在使⽤完毕后⾃动为你清理⽂件所占⽤的内存,只要将open语句写在with后边,然后原来作为open返回值的遍历写给as即可:
file=open('','w')
等价于:
with open('','w')as file:
当然,处理⽂件的内容应该写在 with as 语句的语句块中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论