博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的文件操作小结1
阅读量:6285 次
发布时间:2019-06-22

本文共 3284 字,大约阅读时间需要 10 分钟。

#!/usr/local/bin/python3# -*- coding:utf-8 -*-f=open("test_1",'r',encoding="utf-8")   #'r'代表读文件'''#----------读文件----------print(f.tell())   #tell计数按照字符来计数print(f.read(5))   #读前5个字符,注意此时文件指针已经到第5个print(f.tell())data=f.readline()   #读取下一行print(data)print(f.tell())f.seek(10)   #文件指针指向指定的值(即第几个字符)print(f.readline())print(f.tell())#----------刷新---------- #装逼方法import  sys,time    for i in range(20):    sys.stdout.write("#")    sys.stdout.flush()    time.sleep(0.1)#----------写文件----------f1=open("test_2",'w',encoding="utf-8")#'w'代表写文件f1.write("hello")                     # 注:若test_2文件已存在,那么调用f2.write()方法会将test_2文件中的内容覆盖掉                                      #但 若test_2文件不存在,那么write()方法会创建一个新文件f2=open("test_2",'a',encoding="utf-8")   #f2是文件句柄,'a'代表append,即追加且不覆盖原文件内容,但不可读                                         #            'a+'代表追加读写,即追加且不覆盖源文件内容,可读f2.write("我爱北京天安门...\n")f2.write("天安门上太阳升\n")#----------读取文件指定行数---------for i in range(5):  #读取文件前5行    print(f.readline())     #readline():读取文件的下一行#----------遍历文件----------#---low的写法---for index,line in enumerate(f.readlines()): #f.readlines():将文件的每行作为一个元素,存入列表中                                            #  注:readlines()只适合读小文件,因为需要将文件作为一个列表放到                                            #  内存中    if index==9:                            #enumerate:将行标取出        print("---------------")    print(line.strip())    #去除列表元素中的空格以及换行#---高大上的写法---count=0for line in f:    print(line.strip())    count+=1    if count==9:        print("---------")#----------截断----------f3=open("test_1",'a',encoding="utf-8")#'w'代表写文件#f2.truncate(10)        #从文件的第十个字符开始截断(一个空格算一个字符),后面的内容全部消失#---指定截断(以下方法不可行)---f3.seek(10)             #将文件指针指向第十个字符f3.truncate(20)         #期望从第十个字符开始截断,这样会保留前三十个字符                        #但实际 文件指针 对truncate()方法不起作用,该方法仍旧是从头开始计数#----------读写----------f4=open("test_1",'r+',encoding="utf-8")    #'r+'代表读写文件print(f4.readline().strip())print(f4.readline().strip())print(f4.readline().strip())print(f4.tell())f4.write("-----------------------")print(f4.readline().strip())            #注:虽然期望将内容写入第四行,但运行后发现插入位置随机                                        #但其实事实就是这样的#----------写读1----------f5=open("test_1",'w+',encoding="utf-8")    #'w+'代表写读文件print(f5.readline().strip())print(f5.readline().strip())print(f5.readline().strip())print(f5.tell())f5.write("-----------------------")print(f5.readline().strip())            #注:期望将内容写入第四行,但运行后发现原文件中内容被新写入的内容                                        #覆盖了#----------写读2----------f6=open("test_1",'w+',encoding="utf-8")    # 期望先写入四行,然后将文件指针退回到第十个字符上,然后打印下一行的内容                                           #并在此时写入最后一行,但实际运行发现:我们所期望写入的位置并没有新的内容                                           #新内容被写在了最后一行f6.write("-----------1------------\n")f6.write("-----------2------------\n")f6.write("-----------3------------\n")f6.write("-----------4------------\n")print(f6.tell())f6.seek(10)print(f6.readline())f6.write("----------hello---------\n")f6.close()#----------二进制读文件----------f7=open("test_1",'rb')    #'rb'代表二进制读文件 注:此时后面encoding不能是"utf-8"print(f7.readline())#----------二进制写文件----------f8=open("test_1",'wb')    #'wb'代表二进制写文件 注:此时后面encoding不能是"utf-8"f8.write("hello world\n".encode())   #注:encode ()中不指定具体的字符集,则以'utf-8'为默认f8.close()'''

  

转载于:https://www.cnblogs.com/octopuszy/p/9010337.html

你可能感兴趣的文章
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
关于FreeBSD的CVSROOT的配置
查看>>
基于RBAC权限管理
查看>>
基于Internet的软件工程策略
查看>>
数学公式的英语读法
查看>>
留德十年
查看>>
迷人的卡耐基说话术
查看>>
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>
Vue------第二天(计算属性、侦听器、绑定Class、绑定Style)
查看>>
dojo.mixin(混合进)、dojo.extend、dojo.declare
查看>>
Python 数据类型
查看>>
iOS--环信集成并修改头像和昵称(需要自己的服务器)
查看>>
PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
查看>>
教程前言 - 回归宣言
查看>>
PHP 7.1是否支持操作符重载?
查看>>
Vue.js 中v-for和v-if一起使用,来判断select中的option为选中项
查看>>
Java中AES加密解密以及签名校验
查看>>