首页 > 编程语言 > 详细

python 基础(文件)

时间:2019-10-23 18:50:42      阅读:64      评论:0      收藏:0      [点我收藏+]

文件句柄:可简单理解为应该内存对象

open()函数  参考 https://www.runoob.com/python3/python3-file-methods.html

读、写、追加

 1 ‘‘‘
 2 txt文件内容:
 3 I
 4 am
 5 very
 6 handsome
 7 ‘‘‘
 8 #读(mode = r)
 9 f = open(test.txt,r,encoding=utf-8)
10 x = f.readline() #读取文件的一行,这时文件句柄移动到下一行的位置
11 x = f.readlines() #从文件句柄位置开始读取整个文件内容,并将每一行作为一个元素添加到一个列表
12                   #当一个文件很大时readlines()是行不通的,他会把整个文件加载到内存,再执行后面的代码
13                 #这回耗费很多时间和消耗大量的内存
14 
15 # 可以用读一行打印一行的方式加快文件的读取
16 f.seek(0)  #将文件句柄挪到文件的开始位置
17 for l in f:
18     print(l.strip(),end= )
19                                 #结果 I am very handsome
20 
21 #这个方法在一边读文件一边写文件是很有用的
22 #写(mode = w) 如果目标文件不存在会创建一个,但是如果存在的话会把原文件内容删除,慎用!!!
23 # 备份一个test.txt,名为test_bak.txt
24 f.seek(0)
25 f_w = open(test_bak.txt,w)  #encoding 默认utf-8
26 for l in f:
27     f_w.write(l)
28 #完成备份
29 #追加 (mode = a)在原文件的后面追加内容,是不可读的,如果文件不存在会创建一个
30 f_a = open(test.txt,a)
31 f_a.write(lalala)    #‘lalala‘ 被添加到了test.txt的末尾
32 f_a.close()
33 f_w.close()
34 f.close()

读写、写读、追加读写

 1 ‘‘‘
 2 txt文件内容:
 3 I
 4 am
 5 very
 6 handsome
 7 ‘‘‘
 8 #读写(mode = r+)
 9 with open(test.txt,r+) as f_r_p,10     open(test_bak.txt,w+) as f_w_p,11     open(test_a.txt,a+) as f_a_p:
12     ‘‘‘
13     用with语法可以省略最后的文件关闭操作,同时可以打开多个文件
14     1.w+,还是会将原文件内容删除然后在进行写读等操作,慎用!!!
15     2.r+,非常实用,但如果要对原文件直接更改是不行的,比如有‘I am very handsome‘这么一个
16     字符串,如果想把‘I‘改为‘You‘,见下面代码21-24行,发现打印的结果还是‘I‘,没有变为想要替换
17     的‘You‘,因为在硬盘里的文件已经写死了,硬盘里的后面数据是不会随着前面的数据的变化而前
18     后挪动的,所以要修改文件可以采用复制的方法,就是在创建一个文件,并将修改的内容写入新的
19     文件。
20     ‘‘‘
21     x = f_r_p.readline()
22     x.replace(I\n,You\n)
23     f_r_p.seek(0)
24     print(f_r_p.readline())
25     #将test.txt文件,第一行改为‘You‘,并写入test_a.txt
26     f_r_p.seek(0)
27     for l in f_r_p:
28         print(l,end=‘‘)
29         if l==I\n:
30             f_a_p.write(You\n)
31         else:
32             f_a_p.write(l)

 二进制

1 #二进制写(mode = wb)
2 with open(bin.txt,wb) as f_wb:
3     f_wb.write(bi am bin)
4 #二进制读(mode = rb)
5 with open(bin.txt,rb) as f_rb:
6     print(f_rb.readline())

 

python 基础(文件)

原文:https://www.cnblogs.com/planBinary/p/11703360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!