# ############# 文件操作方法#  重点常用方法标红# ############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学习笔记:文件读/写方法汇总相关推荐

  1. Python 学习笔记——文件对象和操作

    Python的文件处理和相关输入输出能力.介绍文件对象(它的内建函数,内建方法和属性),标准文件,同时讨论文件系统的访问方法,文件执行,以及相关文件模块. 一,内建函数open()和file() 语法 ...

  2. Python学习笔记--文件操作

    (一)文件的编码 1. 编码 编码是一种规则集合,记录了内容和二进制间进行相互转换的逻辑 编码有许多种,最常用的是utf-8 2. 使用编码的原因 计算机只能识别二进制数,因此要将文件的内容翻译为二进 ...

  3. MongoDB学习笔记(七)——MongoDB shell方法汇总

    在写前面的博文的时候,我发现MongoDB shell提供了很多方法,其中MongoDB的很多方法也在其中,下面是我从MongoDB官网上查到的所有MongoDB shell的所有方法,当然,我不会对 ...

  4. Python学习笔记-文件,CSV,序列化反序列化及应用

    文件 数据持久化的一种方式 Python程序运行时写在各种属性,变量,容器中的数据都保存在内存中,内存是 易失存储器 当程序运行结束或内存空间被释放,这些数据也就不复存在了 文件是将数据保存在硬盘等 ...

  5. Python学习笔记 - 用VSCode写python的正确姿势

    最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引.用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markd ...

  6. Python学习笔记之基本数据结构方法

    通用序列操作: 索引,序列中元素从0开始递增,这些元素可以通过编号访问 分片,使用索引只能访问单个元素,分片操作可以访问一定范围内的元素.list[a:b]:a和b是两个索引作为边界,包含索引a对应函 ...

  7. Python学习笔记——文件写入和读取

    1.文件写入 #coding:utf-8 #!/usr/bin/env python 'makeTextPyhton.py -- create text file'import os ls = os. ...

  8. Python学习笔记_读Excel去重

    读取一个Excel文件,按照某列关键字,如果有重复则去掉 这里不介绍所有的解决办法,只是列出一个办法. 软件环境: OS:Win10 64位 Python 3.7 测试路径:D:\Work\Pytho ...

  9. python学习笔记——文件

    os模块属性 属性名 描述 linesep 用于在文件中分隔行的字符串 sep 用于分隔文件路径名的字符串 pathseq 用于分隔文件路径的字符串 curdir 当前工作目录的字符串名称 pardi ...

最新文章

  1. OpenCV计算机视觉编程攻略之生成椒盐噪声实现
  2. 单片机代码怎么读懂_单片机程序员的面试经验
  3. 中国移动互联网2018年度报告:八大关键词总结与十大趋势
  4. C++ 类的前向声明
  5. android 代码设置休眠,几行让Android进入休眠的C代码
  6. 2019 deecamp B题不完全的记录
  7. 不能错过!9个让你随时保持精力充沛的习惯
  8. Linux相关命令(三)
  9. 师傅带徒弟学:Python游戏开发引擎cocos2d-python-关东升-专题视频课程
  10. 如何阅读Smalltalk程序
  11. 聊聊MultipartFile的transferTo方法
  12. JetLinks学习笔记一
  13. eclipse创建servlet,filter产生classnotfound错误
  14. 判断两字符串是否互为变形词Python版
  15. 【MATLAB航空航天工具箱】学习笔记--采用星历评估日行迹
  16. 缘“熟”而起——《乡土中国》读书笔记3600字
  17. Cisco1100 lic激活+采用U盘方式升级版本
  18. JAVA小白必须掌握的英语单词(1)
  19. stc52单片机物联网咖啡机实现
  20. 300多款思维导图模版,助力CSDN平台的程序员们梳理技能知识点,速度收藏!

热门文章

  1. win 7 或 mac 远程桌面到 ubuntu (ssh)
  2. Magento 自定义后台menu Insert dynamical menu in Magento’s Admin
  3. Magento 自定义URL 地址重写
  4. php 检测domain信息
  5. ACM常用数列(斐波那契数列、卡特兰数、贝尔数、斯特灵数)
  6. LinuxCNC解析(一)之安装Linuxcnc所需要的依赖包
  7. ImageList控件 图片容器控件 1130
  8. django项目的创建与启动
  9. 爬虫-练习-爬取访问后可见的内容
  10. 修改linux ssh默认端口