Python学习笔记:文件读/写方法汇总
# ############# 文件操作方法# 重点常用方法标红# ############import time, sys # ########### 读文件 ############################################ 注意:读文件模式不能写,写文件模式则不能读,要指定相应的打开文件的模式mode="?"file = open("file.txt", encoding="utf-8", mode="r")print(file.read())file.close() # 一行一行读,(只能用来读小文件,大的文件就很慢,因为这是一次性读到内存)file = open("file.txt", encoding="utf-8", mode="r")for idx, line in enumerate(file.readlines()): print("第%d行" % (idx + 1), line.strip())file.close() # 一行一行读,file变成一个迭代器,内存里面只保留一行(效率最高,推荐用这一种)file = open("file.txt", encoding="utf-8", mode="r")idx = 0for line in file: idx += 1 print("第%d行" % (idx), line.strip())file.close() # 控制指针来回读取file = open("file.txt", encoding="utf-8", mode="r")file.read()print("显示指针的位置:", file.tell()) # 显示指针位置file.seek(0) # 让指针回到某个位置print("显示指针的位置:", file.tell()) # 显示指针位置file.read() # 读写,可以读的同时将文本写到文件末尾(不能写到中间),比较常用。# file = open("file.txt", encoding="utf-8", mode="r+")# 写读,新建文件后再写(没有使用场景,不使用)# file = open("file.txt", encoding="utf-8", mode="w+")# 追加读写(没有使用场景,不使用)# file = open("file.txt", encoding="utf-8", mode="a+")# 二进制读:就不需要设置编码格式了,一般是网络传输中使用二进制读# file = open("file.txt", mode="rb")# 二进制写:需要使用encode转成字节码,需要先指定之前的编码集utf-8然后python帮你转成字节码,写入文件的字符不是0101显示的而是以二进制编码的# file = open("file.txt", mode="wb", encoding="utf-8")# file.write("hello binary \n".encode())
# ########### 写文件 ############################################ 覆盖写入file = open("file.txt", encoding="utf-8", mode="w")print(file.write("ni hao "))file.close()# 追加内容,添加在文件末尾file = open("file.txt", encoding="utf-8", mode="a")print(file.write("\n hello world "))file.close() # 使用flush()立刻从内存缓存中写入到硬盘,这个方法可以用来做进度条for i in range(20): if i < 50: sys.stdout.write(">") else: sys.stdout.write(" Done 100%") # sys.stdout为标准输出对象 time.sleep(0.1) sys.stdout.flush() # 这里用的不是file中的flush方法,但是可以说明问题,用flush的时候就是立刻将内存中的数据输出 # 从头截断某个字符长度并且赋值给文件file = open("file.txt", encoding="utf-8", mode="a")file.truncate(10) # ########### 修改文件 ############################################ 思路:打开一个新文件,将内容从旧文件读出,修改后写入新文件,# 硬盘的特殊结构决定,直接修改后面的字符就没了。所以只能用这种方式,file_old = open("file.txt", encoding="utf-8", mode="r")file_new = open("file_new.txt", encoding="utf-8", mode="w") # 取出来一行,然后修改后写到另外一个新文件中for line in file_old: if "1" in line: line = line.replace("1", "A") file_new.write(line)file_new.close()file_old.close() # 也可以像下面这样写,用with语句块就不需要close方法了,同时也可以打开多个文件,中间用逗号隔开with open("file.txt", encoding="utf-8", mode="r") as f1, \ open("file_new.txt", encoding="utf-8", mode="w") as f2: for line in f1: if "1" in line: line = line.replace("1", "b") f2.write(line)
Python学习笔记:文件读/写方法汇总相关推荐
- Python 学习笔记——文件对象和操作
Python的文件处理和相关输入输出能力.介绍文件对象(它的内建函数,内建方法和属性),标准文件,同时讨论文件系统的访问方法,文件执行,以及相关文件模块. 一,内建函数open()和file() 语法 ...
- Python学习笔记--文件操作
(一)文件的编码 1. 编码 编码是一种规则集合,记录了内容和二进制间进行相互转换的逻辑 编码有许多种,最常用的是utf-8 2. 使用编码的原因 计算机只能识别二进制数,因此要将文件的内容翻译为二进 ...
- MongoDB学习笔记(七)——MongoDB shell方法汇总
在写前面的博文的时候,我发现MongoDB shell提供了很多方法,其中MongoDB的很多方法也在其中,下面是我从MongoDB官网上查到的所有MongoDB shell的所有方法,当然,我不会对 ...
- Python学习笔记-文件,CSV,序列化反序列化及应用
文件 数据持久化的一种方式 Python程序运行时写在各种属性,变量,容器中的数据都保存在内存中,内存是 易失存储器 当程序运行结束或内存空间被释放,这些数据也就不复存在了 文件是将数据保存在硬盘等 ...
- Python学习笔记 - 用VSCode写python的正确姿势
最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引.用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markd ...
- Python学习笔记之基本数据结构方法
通用序列操作: 索引,序列中元素从0开始递增,这些元素可以通过编号访问 分片,使用索引只能访问单个元素,分片操作可以访问一定范围内的元素.list[a:b]:a和b是两个索引作为边界,包含索引a对应函 ...
- Python学习笔记——文件写入和读取
1.文件写入 #coding:utf-8 #!/usr/bin/env python 'makeTextPyhton.py -- create text file'import os ls = os. ...
- Python学习笔记_读Excel去重
读取一个Excel文件,按照某列关键字,如果有重复则去掉 这里不介绍所有的解决办法,只是列出一个办法. 软件环境: OS:Win10 64位 Python 3.7 测试路径:D:\Work\Pytho ...
- python学习笔记——文件
os模块属性 属性名 描述 linesep 用于在文件中分隔行的字符串 sep 用于分隔文件路径名的字符串 pathseq 用于分隔文件路径的字符串 curdir 当前工作目录的字符串名称 pardi ...
最新文章
- OpenCV计算机视觉编程攻略之生成椒盐噪声实现
- 单片机代码怎么读懂_单片机程序员的面试经验
- 中国移动互联网2018年度报告:八大关键词总结与十大趋势
- C++ 类的前向声明
- android 代码设置休眠,几行让Android进入休眠的C代码
- 2019 deecamp B题不完全的记录
- 不能错过!9个让你随时保持精力充沛的习惯
- Linux相关命令(三)
- 师傅带徒弟学:Python游戏开发引擎cocos2d-python-关东升-专题视频课程
- 如何阅读Smalltalk程序
- 聊聊MultipartFile的transferTo方法
- JetLinks学习笔记一
- eclipse创建servlet,filter产生classnotfound错误
- 判断两字符串是否互为变形词Python版
- 【MATLAB航空航天工具箱】学习笔记--采用星历评估日行迹
- 缘“熟”而起——《乡土中国》读书笔记3600字
- Cisco1100 lic激活+采用U盘方式升级版本
- JAVA小白必须掌握的英语单词(1)
- stc52单片机物联网咖啡机实现
- 300多款思维导图模版,助力CSDN平台的程序员们梳理技能知识点,速度收藏!