1、初始文件操作

1、使用python读写文件使用open()函数获取文件句柄,就可以操作文件了,根据打开方式不同能执行的操作也不同。

打开方式有:

r、w、a、r+、w+、a+、rb、wb、ab、r+b、w+b、a+b,默认用的是r模式

2、只读操作(r、rb)

2.1、只读模式r

#文件的路径分隔符使用/,在windows下和linux都可以生效

f = open("C:/Users/18811/Desktop/部署用到的地址.txt",mode="r",encoding="ANSI")

content=f.read()

f.close()

2.2、只读模式rb,下面rb的方式用于读取非文本文件时,如MP3、图像、视频等,这种文件无法直接显示,rb模式下不能选择encoding

f = open("aa.mp3",mode="rb")

content=f.read()

f.close()

3、读取文件的方法

read(n)读取n个字符,如果再次读取会从当前位置继续读取,不会从头读取,如果是rb模式下,则会读取第n个字节

read()将读取全部内容,弊端:占内存,如果文件过大,容易使内存崩溃

readLine()取一行数据,但每次结尾都有\n或空格,所以要用strip()方法去掉

readLines()将每一行形成一个元素,放到一个列表中,但此方法也会极大耗内存,故不推荐#最好的读取方式,循环读取不会占内存

f = open("C:/Users/18811/Desktop/部署用到的地址.txt",mode="r",encoding="ANSI")for i inf:print(i.strip("\n"))

f.close()

4、写模式(w、wb)

4.1、写的时候,如果没有文件,会创建文件,如果文件存在,则会将原文件内容删除,再重新写入新的内容

f = open("C:/Users/18811/Desktop/你好.txt",mode="w",encoding="UTF-8")

f.write("你好,我是新搬家的阿里\nNICE TO MEET YOU!")

f.flush()

f.close()

4.2、wb模式,可以不指定打开文件的编码,但写文件时,必须将字符串转成UTF-8的bytes数据

f = open("⼩小娃娃", mode="wb")

f.write("⾦金金⽑毛狮王".encode("utf-8"))

f.flush()

f.close()

5、追加模式(a、ab)

5.1、追加模式下,写入的内容会追加到文件的结尾,追加模式下,如果没有文件也会先创建

f = open("C:/Users/18811/Desktop/你好.txt",mode="a",encoding="UTF-8")

f.write("你好,我是新搬家的阿里\n我很喜欢你")

f.flush()

f.close()

5.2、rb模式下

f = open("C:/Users/18811/Desktop/你好.txt",mode="ab")

f.write(b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe6\x88\x91\xe6\x98\xaf')

f.flush()

f.close()

6、读写模式(r+、r+b),对于读写模式, 必须是先读, 因为默认光标是在开头的, 准备读取的, 当读完了之后再进行写入, 我们以后使用频率最高的模式就是r+

f = open("⼩小娃娃", mode="r+", encoding="utf-8")

content=f.read()

f.write("麻花藤的最爱")print(content)

f.flush()

f.close()

#结果:正常的读取之后, 写在结尾

#注意r+模式下. 必须是先读取. 然后再写入

7、写读(w+, w+b),先将所有的内容清空,然后写入,最后读取,但是读取的内容是空的, 不常用

f = open("⼩小娃娃", mode="w+", encoding="utf-8")

f.write("哈哈")

content=f.read()print(content)

f.flush()

f.close()

8、追加读(a+),a+模式下, 不论先读还是后读. 都是读取不到数据的.

f = open("⼩小娃娃", mode="a+", encoding="utf-8")

f.write("⻢马化腾")

content=f.read()print(content)

f.flush()

f.close()

9、其他的一些方法

1、seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是UTF-8的中文部分要是3的倍数.

移动到开头: seek(0)

移动到结尾: seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移, 默认是0, 表

示开头, 1表示当前位置, 2表示结尾2、tell()方法 使用tell()可以帮我们获取到当前光标在什么位置3、truncate() 截断文件,删掉光标后面的所有内容

深坑请注意: 在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显示的是多少. 再写入或者操作文件的时候都是在结尾进行的操作.

所以如果想做截断操作,记住了, 要先挪动光标,挪动到你想要截断的位置,然后再进行截断关于truncate(n), 如果给出了n. 则从开头进行截断, 如果不给n, 则从当前位置截断. 后面的内容将会被删除

10、修改文件以及另一种打开文件的方式,文件修改: 只能将文件中的内容读取到内存中, 将信息修改完毕, 然后将源文件删除, 将新文件的名字改成老文件的名字

importos

with open("小娃娃", mode="r", encoding="utf-8") as f1,\

open("小娃娃_new", mode="w", encoding="UTF-8") as f2:for line inf1:

new_line= line.replace("大白梨", "冰糖葫芦")

f2.write(new_line)

os.remove("小娃娃") #删除源⽂文件

os.rename("小娃娃_new", "小娃娃") #重命名新⽂文件

属于python文件的操作有_Python的文件操作相关推荐

  1. python文件读取与输出_python基本文件操作(文件输入和输出)

    文件输入输出中常用的文件对象方法: open: 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行数据包括结尾的换行符在内 write: 将数据写入文件中 c ...

  2. python对文件的操作模式_python对文件的操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

  3. python获取当前路径导包_python 通过文件夹导入包的操作

    通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...

  4. python在文件中写入字典_python初学--文件操作、字典

    文件读写 1.先打开文件 2.读取/写入内容 3.保存文件 文件的open模式有三种 1.w 写模式,它是不能读的 只要用w打开文件,文件中的东西都会被清空 w+, 写读模式,只要沾上w 就会清空原来 ...

  5. python对文件操作实例_Python对文件文件夹的操作实例

    代码背景: 最近老看视频教程,我需要知道一部教程,需要多久能看完.win下文件夹里,多选视频文件,可以直接在属性中查看一共需要的时间.不过在网上下载的很多视频教程每一章都分布在不同的文件夹下,无法快捷 ...

  6. python不是内部文件别太任性_Python对文件的操作

    Python的文件操作 什么是IO 在计算机中 I/O 是指 Input/Output,即 Stream (流)的输入和输出,输入和输出是相对于内存来说的.程序运行时数据都驻留在在内存当中,由 CPU ...

  7. python读取文件需要的异常处理_Python基础:文件的简单读取和操作以及异常处理...

    Python提供了直接获取文件对象的方法,方便我们直接操作文件. 下面我们就使用Python对文件的读取.写入以及数据存储进行整理说明,以及Python对异常的处理. 获取文件对象 打开一个txt文件 ...

  8. python基金会主席入门教程_Python基金会-文件IO操作,python,基础

    函数 功能 open 打开文件 read 读取文件 write 写文件 close 关闭文件 readline 行读取 readlines 多行读取 open方法 open方法: 打开一个文件,返回一 ...

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

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

最新文章

  1. 基础数据类型之集合和深浅copy,还有一些数据类型补充
  2. 用Python建立最简单的web服务器
  3. 贷款违约预测--赛题理解
  4. 修改android virtual device路径
  5. 大数据WEB阶段(十二)会话技术、Cookie、Session及两者的区别
  6. python正则表达式模块_Python正则表达式模块(re模块)
  7. c语言马秀丽,C语言程序计 清华大学出版社 马秀丽 刘志妩科后习题9答.doc
  8. python 通过ip获取城市_python 根据ip获取地理位置
  9. java 控制台输入字符串_Java控制台输入字符串及字符串比较
  10. ipv6寻址_有类和无类寻址:IPV4寻址| 计算机网络
  11. Pycharm使用秘籍
  12. 收藏 | 深度学习调参有哪些技巧?
  13. delphi 同盘移动文件所用时间测试(文件大小约6,083,545,088 字节)
  14. Java设计模式学习记录-单例模式
  15. 李宏毅机器学习——结构化学习(二)
  16. 几个你可能不了解的CSS单位
  17. AI电话机器人源码买断 后私有云部署如何上线?
  18. 摩托罗拉v8对讲机驱动软件_摩托罗拉驱动下载安装教程
  19. 超级鹰平台识别boss验证码
  20. 反激开关电源的工作原理

热门文章

  1. 接口测试要如何做数据准备
  2. Python3 的urllib实例
  3. 述说C#中的值类型和引用类型的千丝万缕
  4. centos6.6 Kickstart无人值守安装(一):原理篇
  5. 【Stage3D学习笔记续】山寨Starling(八):核心优化(批处理)的实现
  6. mysql常见日期查询问题
  7. mysql 去重取出最小值_5000字总结MySQL单表查询,新手看这一篇足够了!
  8. 2018-3-15模式识别--学习笔记(一)
  9. 李宏毅机器学习笔记六——Gradient Descent
  10. maven 添加数据库驱动