当前位置: 首页 > news >正文

Python:文件读写

一、TXT文件读写

Python中用open()函数来读写文本文件,返回文件对象,以下是函数语法。

open(<name>, <mode>, <buffering>,<encoding)

name:文件名。

mode:打开文件模式。

buffering:设立读取缓存区,加快文件读取速度,如果值为0,则关闭缓存区,大于1,表示

    缓存区大小,小于0,则表示默认大小。

encoding:设置文本文件以何种编码读写

常用的文件打开模式:

打开文件格式的方式
t        以文本格式打开文件(默认)。一般用于文本文件。
b        以二进制格式打开文件。一般用于非文本文件,如:图片。
读写的打开方式
a        以追加方式打开文件,同样是只写,不允许进行读操作。如果文件存在,则打开文件,将文件指针定位到文件尾。因此,新的内容是追加在已有内容之后。如果文件不存在,则创建新文件进行写入。
r只读方式打开文件(默认模式)。文件指针定位在文件头的位置。如果文件不存在会报错
w只写方式打开文件。如果文件存在,则打开文件,清空文件内容,从文件头开始编辑;如果文件不存在,则创建新文件,打开编辑。
+打开一个文件进行更新(可读写)。注意:该模式不能单独使用,需要与r/w/a组合使用。文件指针的位置取决于另一个组合参数。

 文件格式的打开方式可以和读写的打开方式混用,如:wb、rb+等

常用函数:

  • file.read(<size>):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。

  • file.readline():返回一行。

  • file.readlines(<size>) :返回包含size行的列表, size 未指定则返回全部行。

  • for line in file:通过迭代器访问。

  • file.write("hello\n"):如果要写入字符串以外的数据,先将他转换为字符串。

  • file.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的字节数)。

  • file.seek(偏移量,[起始位置]):用来移动文件指针。

    • 偏移量: 单位为字节,可正可负
    • 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
  • file.close() :关闭文件 

注:file=open()是open函数返回的对象。

例子:

​
context=open("文本/1.txt",encoding="UTF-8")
outtext=open("文本/out.txt","w",encoding="UTF-8")
for line in context:str=""for i in line:if i>='A'and i<='Z':str+=tinydict[i]else :str+=iouttext.write(str+'\n')
outtext.close()
context.close()​

http://www.lryc.cn/news/329281.html

相关文章:

  • 10.windows ubuntu 组装软件:spades,megahit
  • K8S之Secret的介绍和使用
  • git下载安装教程
  • 《剑指 Offer》专项突破版 - 面试题 98、99 和 100 : 和动态规划相关的矩阵路径问题(C++ 实现)
  • KY145 EXCEL排序(用Java实现)
  • 属性选择器
  • 软考 - 系统架构设计师 - 关系模型的完整性规则
  • 写了几个难一点的sql
  • 【JDK常用的API】包装类
  • Android Q(10)黑暗模式适配的实现
  • 【git】git使用手册
  • unity中判断方向 用 KeyVertical ,KeyHorizontal 判断ui物体的 方向
  • 前端a4纸尺寸转像素尺寸
  • Android 中 调试和减少内存错误
  • 证券市场概述
  • 什么是数据结构
  • 基于springboot+vue实现的学校田径运动会管理系统
  • HarmonyOS 应用开发之FA模型绑定Stage模型ServiceExtensionAbility
  • Java 中的单例模式
  • 鸿蒙OS开发实例:【ArkTS类库多线程I/O密集型任务开发】
  • OpenStack部署
  • Java中的多线程和线程安全问题
  • java Web会议信息管理系统 用eclipse定制开发mysql数据库BS模式java编程jdbc
  • lock4j学习记录
  • 【C++庖丁解牛】自平衡二叉搜索树--AVL树
  • ES5和ES6的深拷贝问题
  • 阿里云发送短信配置
  • axios封装,请求取消和重试,请求头公共参数传递
  • 隐私计算实训营学习五:隐语PSI介绍及开发指南
  • ES的RestClient相关操作