代码改变世界

学习Pytbon第八天,文件的操作

2018-11-24 06:30  筑_梦  阅读(213)  评论(0编辑  收藏  举报

文件的常用操作字符

 

 1 data=open('月亮代表我的心',encoding='utf-8').read()
 2 f=open('月亮代表我的心',encoding='utf-8')#提取内存对象也叫文件句柄
 3 data=f.read()
 4 
 5 print(data)
 6 f=open('月亮代表我的心2','r',encoding='utf-8')#read读文件“R+”可以读和写
 7 f=open('月亮代表我的心2','w',encoding='utf-8')#write写文件会重新创建一个新文件“w+”可以写和读
 8 f=open('月亮代表我的心2','a',encoding='utf-8')#append追加文字。只能单独使用
 9 
10 print(f.tell())#查看文件光标指针位置
11 
12 f.seek(0)#返回光标到0位置
13 
14 print(f.encoding())#打印字符编码
15 
16 print(f.fileno())#打印内部编号
17 
18 print(f.readable())#判断文件是否可读
19 
20 print(f.flush())#刷新
21 
22 f.truncate(20)#阶段20个字符
23 
24 f.write("材料部门提前组织有关机.\n")
25 
26 f.write("材料部门关机")
27 
28 print(f.readline())#打印第一行

 

修改某一行的文字此方法会打开整个文件后进行修改

1 f=open('月亮代表我的心','r',encoding='utf-8')
2 for index,line in enumerate(f.readlines()):#取文件的行的下标
3     if index==9:#到第九行
4 print('----23123423--- ------')
5 continue#跳出本次执行
6 print(line.strip())#打印并去掉空格和换行符

 

修改某一行的文字          高效的循环只读一行然后向下循环的文字

 1 f=open('yesterday','r',encoding='utf-8')
 2 
 3 count=0
 4 
 5 for line in f:
 6 
 7     if count ==9
 8 
 9     print('------323-----')
10 
11     count+=1
12 
13     continue
14 
15 print(line.strip())
16 
17 count+=1

#文件的修改新建一个文件对立面的文字进行修改

 

1 '''f=open("yesterday","r",encoding="utf-8")
2 f_new=open("yesterday4.bak","w",encoding="utf-8")
3 for line in f:
4 if "3.2.3 工地临时供水管道做好保温防冻工作。" in line:
5 line=line.replace("3.2.3 工地临时供水管道做好保温防冻工作。","月亮代表我的心。")
6 f_new.write(line)
7 f.close()
8 f_new.close()'''

 

 

 

with的用法

1 with open("yesterday2.txt","r",encoding="utf-8") as f:#打开文件并给他赋值"f"
2 for line in f:#对行循环
3 print(line.strip())  #打印文本
4         print('---1223---')#尾部追加...
5         count+=1
6         continue
7     print(line.strip())
8     count+=1