python之文件操作
1 # author:zfp 2 3 #python 文件的操作流程是这样的: 4 #1、首先是打开文件,得到这个文件的文件句柄,并赋值给一个变量 5 #2、通过句柄对文件进行操作 6 #3、关闭文件 7 8 #data=open("filetxt",encoding="utf-8").read() 9 #print(data) 10 #以上操作是不符合规程的,因为不知道文件的句柄是多少,文件没法关闭。这样打开的文件就会一直驻留在内存中 11 ''' 12 f=open("filetxt","r+",encoding="utf-8")#将文件以某编码方式打开,将文件的句柄赋值给变量f 13 data=f.read()#通过文件句柄读取文件内容,赋值给变量data 14 print(data)#打印出data的内容 15 data2=f.read() 16 f.write("\n涟源市砂石镇") 17 print('----data2>>>',data2) 18 ''' 19 #下面演示一下读行的方式readline读行,strip()函数是把空格和换行符去掉 20 ''' 21 f=open("filetxt","r",encoding="utf-8") 22 for line in f.readlines() : 23 print(line.strip()) 24 #read()读取整个文件,readline是读取当前行,readlines()却是读取整个文件到一个迭代器中以供我们遍历使用(读取 25 # 到一个list中,以供使用,比较方便) 26 ''' 27 #换一种方式 28 ''' 29 f=open("filetxt","r",encoding="utf-8") 30 for index,line in enumerate(f.readlines()) : 31 if index==9 : 32 print("-----我是分隔线-----")#在第10行打印一个标记 33 continue 34 print(line.strip()) 35 #enumerate()是python中一个内置的函数,在英文中,enumerate是枚举,列举的意思,对于一个可迭代的/可遍历的对象 36 #如(字符串、列表),enumerate()会将其组成一个索引序列,利用它可以同时获得索引和值。多用于for循环中得到计数 37 ''' 38 #高阶方式 39 f=open("filetxt","r+",encoding="utf-8") 40 print(f.tell()) 41 count=0 42 for line in f: 43 if count==9 : 44 print("------ 这是分隔线--------") 45 count+=1 46 continue 47 print(line.strip()) 48 count+=1 49 #这是一行一行地读,不占内存的 50 print(f.tell()) 51 f.seek(1000) 52 print(f.tell()) 53 print(f.encoding) 54 #r+:读写,w+:写读,a+追加,rb:二进制读(网络传输等的时候只能用二进制方式,毕竟很多的时候如图片、音乐、视频都不是以文本的形式存放的。)