今天学习python的Files文件读写操作,并记录学习过程欢迎大家一起交流分享。

首先新建一个文本文件test.txt,内容如下:

hello worldhello youhello mehello pythonhello universe

然后新建一个python文件命名为py3_file.py,在这个文件中进行操作代码编写:

#文件读写操作#打开一个文件test.txt#文件常见打开模式#r:读文件#w:写文件#a:追加文件#####读取文件操作#####f = open('test.txt','r')#打印文件名print(f.name)#test.txt#打印文件打开的模式print(f.mode)#r#关闭文件f.close()#使用with打开文件#好处是不用关心文件是否关闭#当我们退出with代码块后#会自动关闭文件with open('test.txt','r') as rf: pass#验证文件是否已经关闭print(rf.closed)#True#试着在with代码块外执行读取数据#print(rf.read())#出现异常 文件已经关闭了# ValueError: I/O operation on closed file.#读取文件内容with open('test.txt','r') as rf_obj: contents = rf_obj.read() print (contents)#注意:当test.txt文件内容很少的时候# 上边的代码没什么问题#如果是一个非常大的文本文件#直接去read()到内存中 会吃不消#甚至出现打不开的情况#改良如下使用readlines代替read#一行一行读取,直到全部读取完毕with open('test.txt','r') as rf_obj: contents = rf_obj.readlines() print (contents)#运行得到的结果是一个list#包含文件中的每一行内容#这种方式显而易见对于很大的文件来说#也是不合理的#接下来继续改良#使用readline()代替readlines()#每次读取一行with open('test.txt','r') as rf_obj: contents = rf_obj.readline() print(contents,end='')#运行得到文本文件中的第一行数据#这种方式读取数据需要写很多次readline()#这里我们继续改良#使用for循环迭代 替代readline()、readlines()with open('test.txt','r') as rf_obj: for line in rf_obj: print(line,end='')print ()#这种方式不会一次读取所有内容到内存中#一行一行的读取,就不比担心内存问题#改良版的read(size)应对大文件读取with open('test.txt','r') as rf_obj: size_to_read = 10#定义每次读取的大小 contents = rf_obj.read(size_to_read) #rf_obj.tell()查看每次读取的大小 #rf_obj.seek(0)寻址操作,从0的位置在开始读 while(len(contents)>0): print(contents, end = '*') contents = rf_obj.read(size_to_read)#####写入文件操作#####with open('test.txt','w') as wf: wf.write('Hello EveryOne')#使用w的写入模式要注意会清空原有文件中的#所有内容,写入新的内容#所以根据自己的需求这里要注意是使用w还是a#接下来看seek操作with open('test.txt','w') as wf: wf.write('Test') wf.seek(0) wf.write('R')#以上代码释义:#先将Test写入test.txt文件中#然后文件寻址到开始位置索引0的地方#这里是T#然后将R写入第0个位置#最终文件的内容为:Rest###接下来做一个文件的拷贝功能######流程为先读取一个文件,将内容写入一个新#创建的文件中with open('test.txt','r') as rf: with open('test_copy.txt', 'w') as wf: for line in rf: wf.write(line)#图片的拷贝操作#这里注意图片内容为字节类型#所以这里文件打开模式需要调整with open('r1000.jpg','rb') as rf: with open('r1000_copy.jpg', 'wb') as wf: chunk_size = 4096 rf_chunk = rf.read(chunk_size) while len(rf_chunk) > 0: wf.write(rf_chunk) rf_chunk = rf.read(chunk_size)

运行结果:

test.txtrTruehello worldhello youhello mehello pythonhello universe['hello world', 'hello you', 'hello me', 'hello python', 'hello universe']hello worldhello worldhello youhello mehello pythonhello universehello worl*dhello yo*uhello me*hello pyt*honhello *universe*

今天初学python的 Files文件读写操作学习就到这里!

关注公号yale记

下面的是我的公众号二维码图片,欢迎关注。

unity webgl读写txt文件_python Files文件读写操作相关推荐

  1. python文件读写方法手机_python读取文件—txt文件常用读写操作

    txt文件的打开的两种方式: f = open("data.txt","r")   #设置文件对象 f.close() #关闭文件 为了方便,避免忘记close ...

  2. python读取log文件_python之文件的读写(文本文档,log文件)

    1 #文件打开方式,文件打开是有返回值的 2 #open函数 3 #file_object = open(file_name,access_mode='r') 4 #file_name 必填形参, a ...

  3. python def return 文件_python基础-文件处理与函数

    1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...

  4. python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件

    python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...

  5. python检测文件夹中新增文件_python检测文件夹变化,并拷贝有更新的文件到对应目录的方法...

    检测文件夹,拷贝有更新的文件到对应目录 2016.5.19 亲测可用,若有借鉴请修改下文件路径: 学习python小一个月后写的这个功能,属于初学,若有大神路过,求代码优化~ newcopy.py: ...

  6. python如何使用文件_Python的文件操作

    文件的操作,归根结底就只有两种:打开文件.操作文件 一.打开文件:文件句柄= open('文件路径','模式') python中打开文件有两种方式,即:open(...) 和  file(...),本 ...

  7. python open可以打开什么类型文件_Python打开文件open()的注意事项

    原博文 2018-02-28 10:51 − 刚刚用open(fileName)来打开txt格式的文件,总是出现错误,总是找不到文件读取的内容,后来才发现是open()在使用过程中自动关闭了.这里介绍 ...

  8. python可以处理哪些文件_Python(文件处理)

    二.基本操作 #r''------------------>> r:原生字符串,不判断符号的含义 #文件处理 f=open(r'c:\a.txt','r',encoding='utf-8' ...

  9. python os模块打开文件_python OS 模块 文件目录操作

    os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C API,而Python的os模块中包括了对这 ...

最新文章

  1. golang 基于Mac os 构建镜像
  2. Linux基础优化方法(二)———系统安全相关优化:防火墙和selinux
  3. CSS基础(part19)--CSS3属性选择器
  4. resolv.conf
  5. 【原】StreamInsight 浅入浅出(四)—— 例子
  6. 没光驱怎么重装电脑系
  7. Nginx 与 Tomcat,Apache的区别
  8. TestNg的IReporter接口的使用
  9. oracle临时表空间自动清理,oracle清理临时表空间
  10. ldpcMATLAB/ldpc的译码,matlab程序/LDPC编码的matlab实现/源码
  11. 自制试题(逻辑思维训练500题)
  12. 前端UI框架网址大全----后续会有添加
  13. 怎样运行一个php的项目,第一章 如何加载运行已发布的PHP项目
  14. 哪些深度相机有python接口_三种主流深度相机介绍
  15. 什么是V2X?如何通过V2X技术实现5G智慧交通?(一)
  16. 4135: [FJOI2015]世界树
  17. 怎样才能在微信朋友圈发长视频?
  18. java 163邮箱发邮件_Java实现163邮箱发送邮件到QQ邮箱
  19. deepin系统怎么分区?deepin系统分区方法介绍
  20. modbus tcp主站和从站_Modbus-RTU 一主多从PLC无线通讯经典案例

热门文章

  1. mockito_书评:Mockito Essentials
  2. Java恶意序列化背后的历史和动机
  3. javafx canvas_JavaFX技巧2:使用Canvas API进行清晰绘图
  4. glassfish发布应用_WildFly 8与GlassFish 4 –选择哪个应用服务器
  5. 创新设计模式:工厂模式
  6. spring jms 消息_Spring JMS,消息自动转换,JMS模板
  7. js 随机1-10随机数_寻找随机的错误-一个真实的故事
  8. Java生产力提示:社区的热门选择
  9. 构建忽略测试_分类测试以减少构建时间
  10. 如何模拟Spring bean(版本2)