文件操作三部曲:打开 -> 操作 -> 关闭。

一. 文件操作, 常用的几种模式:

如果打开文件,没有指定操作方式,默认是读取;

对于r/r+,如果文件不存在会报错,使用时需要保证文件存在;

对于w/w+,如果使用它们,每次运行文件内容都会被覆盖;

对a/a+,这种方式会追加内容,因此指针在结尾。

对于rb, wb, ab 是二进制的方式操作,可以应用于图片、视频。

* 注意:当文件操作方式是a 或者a+ 时,文件指针在结尾,如果想要读取文件内容,记得修改指针的位置, f.seek(0) 这是将文件指针放在文件开始的地方。

二. 文件的几种操作方法:

f.seek(), f.read(), f.readline(), f.readlines(), f.close(), f.write(), f.writelines(), f.truncate(), f.flush()

1. 以读取"test"文件为例,对文件各种进行读取的操作:

1 f = open('test','a+',encoding='utf-8') # 打开文件“test”,往文件中追加内容2 f.seek(0)#将文件指针放在文件开始

3 print('read(): 读取文件里面的全部内容')4 print(f.read())5 f.seek(0)6 print('readline() : 只读取一行的内容')7 print(f.readline())8 #f.seek(0) #不加这行的话f.readlines()会输出剩余的内容

9 print('readlines(): 读取文件里面的全部内容,把文件里面每一行的内容放到一个list里')10 print(f.readlines())11 f.close() #打开文件后记得关闭文件

这是对应的读取结果:

2. 循环读取文件: next()

Python 3 中的 File 对象不支持 next() 方法。 Python 3 的内置函数 next() 通过迭代器调用 __next__() 方法返回下一项。 在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration

3. 高效读取文件的方式:for f in fw:

1 fw = open('test',encoding='utf-8')2 count =1

3 #直接循环文件对象的话,就是循环文件里面的每一行

4 for f infw:5 print('第%s行' %count,f)6 count+=1

7 fw.close()

4. 下面是写入文件,刷新缓冲区,清空文件的操作:

仍然以上面的test 文件为例,

1 f = open('test','a+',encoding='utf-8')#打开文件“test”,往文件中追加内容

2 f.write('apple'+ '\n')#f.write()写入的需为字符串, \n 为写入换行

3 tu=('dds','ttt','iii')4 f.writelines(tu)#写的时候,传入一个可迭代的对象

5 f.write('\n')6 print(f.tell())#返回文件当前位置。

7 f.flush()#刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

8 f.seek(0)9 print(f.read())10 f.truncate(10)#截取指定长度

11 f.seek(0)12 print(f.read())13 #f.truncate()#清空文件内容

14 f.close()#打开文件后记得关闭文件

这是对应的结果:

5. with 操作文件,自动关闭文件

在操作文件的时候,经常忘了关闭文件,这样的就可以使用with,它会在使用完这个文件句柄之后,自动关闭该文件。

具体使用如下:

1 with open('test', 'r+') as f:2 res =f.read()3 new_res = res.replace('ttt', 'nice') #替换 ttt -> nice

4 f.write(new_res)5 f.flush()6 f.seek(0)7 print(f.read())

用with 进行多文件的操作,具体如下:

1 with open('test','r+') as fr:2 with open('test_new', 'w+') as fw: #这个是多文件的操作,打开两个文件,fr是读,fw是新建一个文件写

3 for line in fr: #循环test 文件中的每一行

4 new_line = line.replace('hello', 'good')5 fw.write(new_line) #写到test_new文件中

6

with open('a.txt','w') as f, open('b.txt','w') as fw: #打开多个文件

f.write('sss')

fw.write('rrrr')

以上是对文件操作的总结。

下列不是python对文件的操作方法的是_Python 文件操作相关推荐

  1. 下列不是python对文件的写操作方法的是_Python—文件读写操作

    初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...

  2. python写入数据的一种措施_Python 文件数据读写的具体实现

    文件数据读写 读写文件,本质上是请求操作系统打开一个文件对象,然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 文件读取 使用 Python 内置 ...

  3. python文件和数据的格式化_Python文件和数据格式化(教程)

    文件是一个存储在副主存储器的数据序列,可包含任何数据内容. 概念上,文件是数据的集合和抽象,类似的,函数是程序的集合和抽象. 用文件形式组织和表达数据更有效也更加灵活. 文件包括两种形式,文本文件和二 ...

  4. python文件读取下一个字符_python文件的读写总结

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  5. pom.xml文件第一行报错_Python文件读写指南

    作者:豌豆花下猫,某985高校毕业生, 兼具极客思维与人文情怀 .公众号[Python猫], 专注python技术.数据科学和深度学习,力图创造一个有趣又有用的学习分享平台. 对于初学者来说,一份详尽 ...

  6. python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI

    本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...

  7. python等待执行完毕 再继续执行_Python等待操作完成后再继续

    我正在将数据写入CSV文件,然后一旦完成,我将文件复制到另一个目录. 这都是循环,所以当第二次迭代开始时,它会从复制的文件中读取数据. 问题是在第二次迭代开始时文件仍在被复制,这会导致明显的问题. 在 ...

  8. python文件io是啥意思_Python文件IO(普通文件读写)

    ## 打开一个文件 - fileobj = open(filename, mode) 其中: fileobj是open()返回的文件对象 filename是该文件的字符串名 mode是指明文件类型和操 ...

  9. python遍历目录压缩文件夹然后在发送邮件_python目录操作之python遍历文件夹后将结果存储为xml...

    Linux服务器有CentOS.Fedora等,都预先安装了Python,版本从2.4到2.5不等,而Windows类型的服务器也多数安装了Python,因此只要在本机写好一个脚本,上传到对应机器,在 ...

最新文章

  1. UVALive - 3902 Network
  2. css3属性box-sizing:border-box 用法解析
  3. jQuery的Tooltip插件
  4. 兄弟连区块链教程Fabric1.0源代码分析Peer peer根命令入口及加载子命令一
  5. 小屏幕 ui设计_UI设计基础:屏幕
  6. MySQL buffer pool里的三种链表和三种page
  7. 20145326蔡馨熠《信息安全系统设计》第2周学习总结
  8. mysql percona 密码设置_Percona mysql5.7 默认密码
  9. AVEVA PDMS 三维文字工具
  10. 在Ubuntu中为root用户启用界面登录
  11. cisco2811 一对一IP地址映射
  12. 先锋意识dota人生
  13. 简易vbs脚本实现在浏览器自动刷新网页。
  14. 人工智能会取代程序员吗?
  15. js切换图片会闪动_js 特效 当鼠标经过的时候 图片闪一下光
  16. 利用大白菜制作多系统启动U盘(ubuntu+windows)
  17. mongoDB--初识mongoDB安装过程
  18. 利用JS来实现表格的全选、全不选、反选以及删除的功能
  19. Git 学习之团队协作(Gitee实操)
  20. 网络维护和服务器面试常考题,网络维护面试题

热门文章

  1. TableLayout中stretchColumns、shrinkColumns的用法
  2. 变量、字符串与数字类型
  3. MATLAB算法实战应用案例精讲-【数模应用】MSE损失函数
  4. (LaTeX) Solved: 引用网页时出现的空格间距过大;网页链接的字体不符合要求
  5. web安全-上传漏洞-Ewebeditor编辑器漏洞利用
  6. eclipse tomcat配置详解
  7. 使用PyO3从Python调用 Rust:加速Python
  8. matlab薄板屈曲,第六章 薄板的屈曲.doc
  9. Vulnhub_CengBox
  10. 计算机木马的危害有哪些?