首页 > 其他分享 >with_open

with_open

时间:2024-04-16 17:36:45浏览次数:23  
标签:aaaaaaa read 写入 write open 光标

打开方式

模式 可做操作 若文件不存在 是否覆盖
r 只读 error -
r+ 读写 error
w 只写 创建
w+ 读写 创建
a 只写 创建 是,尾部追加
a+ 读写 创建
wb 以二进制的字符串写入bytes 创建
rb 以二进制的方式读取字符串,返回bytes error -

相关常用函数

  • f.read() 返回读取内容
  • f.write(str) 写入字符串
  • f.tell() 返回读写指针位置
  • f.seek(0) 移动指针到开头
  • f.truncate() 清空文件内容

例子

with open("a.txt", "r", encoding="utf-8") as f:
    str1 = f.read()  # 读取文件中内容,返回格式str 
    print(str1)
with open("a.txt", "w", encoding="utf-8") as f:
    f.write("aaaaaaa")  # 在文件中以str格式写入"aaaaaaa"
with open("a.txt", "a", encoding="utf-8") as f:
    f.write("aaaaaaa")  # 在文件中以str格式将"aaaaaaa"追加至末尾
with open("a.txt", "rb", encoding="utf-8") as f:
    str1 = f.read()  # 读取文件中内容,返回格式二进制
    print(str1)
with open("a.txt", "wb", encoding="utf-8") as f:
    f.write("aaaaaaa")  # 在文件中以二进制格式写入"aaaaaaa"
with open("a.txt", "r+", encoding="utf-8") as f:
    str1 = f.read()  # 读取文件内容并将指针移到至末尾
    f.seek(0)  # 移动指针到开头,如果不移动指针,清除内容会失效
    f.truncate()  # 清除文件内容
    f.write("aaaaaaa")  # 在文件中以str格式重新写入"aaaaaaa"
    str2 = f.read()  # 读取到的是新内容
with open("a.txt", "w+", encoding="utf-8") as f:
    str1 = f.read()  # 读取文件内容但是返回是空,因为w+先覆盖文件,也就是说读到的是新的空文件并非是原有的文件
    f.write("aaaaaaa")  # 在文件中以str格式写入"aaaaaaa"
    str2 = f.read()  # 读取到的是新内容
  1. r+模式一开始光标在开始(0)处。当写入write时,操作方式为覆盖,若写入长度大于原文档长度,则全部覆盖掉,光标移到最后位;若写入长度小于原文档长度,
    则只覆盖掉光标之后写入长度大小的那部分原文档,光标移到写入长度的位置***读(write)时光标都是移动到相应的写入长度位后。读(read)操作之后光标都会移动到文档最后位。
  2. w+模式一开始光标在开始(0)处。当写入write时,操作方式位清空,不论写入长度大于还是小于原文档长度,光标都移到文档最后位(此时的文档最后位也就等于写入长度位后)
  3. a+模式,根据光标位置,write方法在光标位置后添加

标签:aaaaaaa,read,写入,write,open,光标
From: https://www.cnblogs.com/jianghao000/p/18138747

相关文章

  • 如何在Semantic Kernel中使用第三方代理OpenAI API接口
    最近手里没有官方的OpenAIAPIKey了,只能在第三方代理平台去购买APIKey。但是使用SemanticKernel的时候发现AddOpenAIChatCompletion不像AddAzureOpenAIChatCompletion那样可以选择终结点去看了下SemanticKernel项目下的issues,这个问题被提及了好几次,但是官方仍然没有提供End......
  • kylin V10 SP3将openssl降级到1.0.2u
    前言kylinV10SP3的openssl版本较高OpenSSH_9.5p1,OpenSSL1.1.1f 31Mar2020,程序编译环境必须是OpenSSL1.0.2,故需要降级,记录一下。下载安装包下载openssl1.0.2u安装#解压tarzxvfopenssl-1.0.2u.tar.gz#安装cdopenssl-1.0.2u./config--prefix=/usr/local/sslmak......
  • 关于openpyxl
    文档来源于openpyxl官方文档:https://openpyxl.readthedocs.io/en/stable/tutorial.htmlpython内封装了很多强大的功能库,包括对office办公软件的许多操作,相比较于对word的操作库来说,python对excel表格的操作库要友好很多,其中广为人知的当属于pandas和openpyxl。我在对excel表操作......
  • 实战:如何编写一个 OpenTelemetry Extensions
    前言前段时间我们从SkyWalking切换到了OpenTelemetry,与此同时之前使用SkyWalking编写的插件也得转移到OpenTelemetry体系下。我也写了相关介绍文章:实战:如何优雅的从SkyWalking切换到OpenTelemetry好在OpenTelemetry社区也提供了Extensions的扩展开发,我们可以不......
  • OpenWrt 多拨负载均衡不起作用
    检查负载均衡->规则->Https->粘滞模式是否启动,设置为否如果设置为是,那么根据官方描述:来自相同源IP的流量,如果已经匹配过此规则并且在粘滞超时时间内,将会使用相同的WAN接口意思就是如果你同一个设备连接,Https走的WAN接口始终是同一个,就达不到负载均衡的效果了!......
  • openstack-新增nova节点
    1.改IPvi/etc/sysconfig/network-scripts/ifcfg-ens3TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesNAME=ens3DEVICE=ens3ONBOOT=yesIPADDR=172.17.10.53NETMASK=255.255.255.128GATEWAY=172.17.10.1DNS1=202.96.128.86DNS2=114.114.114.1142.设置主机名hostnamectl......
  • openGauss DBMind模式说明
    DBMind模式说明用户可通过gs_dbmind命令调用AI4DB的全部功能,该命令可实现下列基本功能:服务功能:service子命令,包括创建并初始化配置目录、启动后台服务、关闭后台服务等;调用组件:component子命令,AI4DB功能(如索引推荐、参数调优等)可通过该模式进行即时调用;设置参数:set子命令,通过......
  • openGauss DB4AI-Query-模型训练和推断
    DB4AI-Query:模型训练和推断openGauss当前版本支持了原生DB4AI能力,通过引入原生AI算子,简化操作流程,充分利用数据库优化器、执行器的优化与执行能力,获得高性能的数据库内模型训练能力。更简化的模型训练与预测流程、更高的性能表现,让开发者在更短时间内能更专注于模型的调优与数据......
  • openGauss AI特性
    AI特性人工智能技术最早可以追溯到上世纪50年代,甚至比数据库系统的发展历史还要悠久。但是,由于各种各样客观因素的制约,在很长的一段时间内,人工智能技术并没有得到大规模的应用,甚至还经历了几次明显的低谷期。到了近些年,随着信息技术的进一步发展,从前限制人工智能发展的因素已经逐......
  • openGauss AI4DB-数据库自治运维
    AI4DB:数据库自治运维如上文所述,AI4DB主要用于对数据库进行自治运维和管理,从而帮助数据库运维人员减少运维工作量。在实现上,DBMind的AI4DB框架具有监控和服务化的性质,同时也提供即时AI工具包,提供开箱即用的AI运维功能(如索引推荐)。AI4DB的监控平台以开源的Prometheus为主,DBMind提......