Python操作文件:从入门到“悟”

news2024/10/7 12:19:36

一、打开文件

Python里面打开文件可以使用内置的open函数。

open函数的定义如下:

def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True): # known special case of open

常用参数介绍:

  • file:指定要打开的文件名

  • 打开模式(mode):打开模式可以是一个字符串,用于指定读取、写入或追加等操作。常见的打开模式包括 "r"(读取模式)、"w"(写入模式)、"a"(追加模式)

  • 编码(encoding,可选):用于指定文件的字符编码,仅在文本模式下使用,比如utf-8,gbk等

如果你想学习接口自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386    

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

其他的参数我暂时没怎么用过,先不进行过多介绍,以免文档写错了,对大家造成困扰。

下面来重点看下mode介绍,先看函数官方定义的文档中是怎么描述的:

 ========= ===============================================================
    Character Meaning
    --------- ---------------------------------------------------------------
    'r'       open for reading (default)
    'w'       open for writing, truncating the file first
    'x'       create a new file and open it for writing
    'a'       open for writing, appending to the end of the file if it exists
    'b'       binary mode
    't'       text mode (default)
    '+'       open a disk file for updating (reading and writing)
    ========= ===============================================================

英文看不懂的话 ,我再来写一下自己的理解:


 ========= ===============================================================
    Character Meaning
    --------- ---------------------------------------------------------------
    'r'       读取模式,也是默认的选项
    'w'       写入模式,首先清空文件再写入
    'x'       创建新文件并打开进行写入,如果文件已存在时会报错:FileExistsError: [Errno 17] File exists
    'a'       追加模式,如果文件存在则在文件末尾追加
    'b'       二进制模式
    't'       文本模式 (default)
    '+'       表示以更新模式打开文件。这种模式允许对文件进行读取和写入操作,即同时支持读取和写入
    ========= ===============================================================

rwabt这几个字母怎么去记忆呢?可以根据对应的英文单词喔,分别是read、write、append、byte、text。

二、使用with语句操作文件

在Python中,打开文件后最好使用with语句来读取文件。with语句在结束时会自动关闭文件,无需显式调用close()方法。with语句提供了一种方便的方式来确保在文件使用完毕后自动关闭,以避免资源泄漏和错误。当with块结束时,文件将自动关闭,即使在处理文件期间发生异常或错误,也会正确地关闭文件。

with open('myfile.txt', 'r',encoding="utf-8") as file:
    content = file.read()
    # 在这里可以对文件内容进行处理
    print(content)
# 文件会在with语句结束后自动关闭,无需手动调用file.close()

逐行读取文件:

with open('myfile.txt', 'r',encoding="utf-8" ) as file:
    for line in file:
        # 对每一行进行处理
        print(line)

按行写入文件:

lines = ['Line 1', 'Line 2', 'Line 3']
with open('myfile.txt', 'w') as file:
    for line in lines:
        file.write(line + '\n')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/778871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果账号被禁用怎么办

转载:苹果账号被禁用怎么办 目录 禁用的原因 解除Apple ID禁用 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UKQ1ILhC-1689932607373)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw)]​编辑 …

win10电脑便签常驻桌面怎么设置?

你是否曾经因为繁忙的工作而忘记了一些重要的事项?相信很多人都会回答:忘记过!其实在快节奏的职场中,我们经常需要记录一些重要的信息,例如会议时间、约见客户时间、今天需要完成的工作任务等。而为了能够方便地记录和…

【简单认识MySQL函数和高级语句】

文章目录 一.常用查询1.按关键字排序(ORDER BY 语句)1、语法格式2、 ASC和DESC的排序概念3、举例1、按分数排序,默认不指定是升序排列2、分数按降序排列3、order by 还可以结合where进行条件过滤,筛选地址是南京的学生按分数降序排…

07.计算机网络——数据链路层

文章目录 数据链路层以太网帧格式MAC地址理解MAC地址和IP地址认识MTUMTU对IP协议的影响MTU对UDP协议的影响MTU对于TCP协议的影响 ARP协议**ARP**协议的作用ARP协议的工作流程ARP数据报的格式 数据链路层 ​ 数据链路层在物理层提供的服务的基础上向网络层提供服务,…

了解持续集成、交付和部署

如果可以实现记得点赞分享,谢谢老铁~ 软件开发公司变得越来越敏捷。他们不断适应新技术和实践,以在其业务领域保持领先地位。在软件开发中,三种策略;持续集成、持续交付和持续部署是为了快速、一致地开发、部署、测试和…

Android dp to pix resources.getDimension(R.dimen.xxx) ,kotlin

Android dp to pix resources.getDimension(R.dimen.xxx) ,kotlin <?xml version"1.0" encoding"utf-8"?> <resources><dimen name"my_size_dp">20dp</dimen><dimen name"my_size_px">20px</dime…

研发机器配网方案(针对禁止外网电脑的组网方案)

背景&#xff1a;公司是研发型小公司&#xff0c;难免会使用A某D和K某l 等国内免费软件&#xff0c;这两个是业界律师函发得最多的软件。最简单的方案是离网使用&#xff0c;但是离网使用比较麻烦的是要进行文件传输&#xff0c;需要使用U盘拷贝&#xff0c;另外研发型企业一般…

【UE5】CallCustomEvent插件的使用文档

该插件是一款可以帮助你调用任意的蓝图自定义事件 使用该插件调用自定义事件时&#xff0c;你不需要实现获取对方类的引用 比如我在A类里创建了一个名叫“MyPrint”的自定义事件 因为该节点有三个参数&#xff0c;所以我们在B类中调用三个参数的CallCustomEvent节点 然后在B类…

蓝桥杯刷题记录-2020省赛

比较全面的记录2020省赛题目&#xff0c;本篇文章全文都是采用Python解题&#xff0c;题目都是基础简单的题目 1.成绩统计 解题代码&#xff1a; import os import sys nint(input()) well0 ok0 for i in range(n):aint(input())if a>85:well1ok1elif a>60:ok1 print(&…

网络安全:密码学基本理论.

网络安全&#xff1a;密码学基本理论. 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律&#xff0c;应用于编制密码以保守通信秘密的&#xff0c;称为编码学&#xff1b;应用于破译密码以获取通信情报的&#xff0c;称为破译学&#xff0c;总称密码学. 目录…

【itext7】itext7操作PDF文档之添加表单控件(单行文本框、多行文本框、单选框、复选框、下拉框、按钮)

这篇文章&#xff0c;主要介绍itext7操作PDF文档之添加表单控件&#xff08;单行文本框、多行文本框、单选框、复选框、下拉框、按钮&#xff09;。 目录 一、itext操作PDF表单 1.1、添加单行文本框 1.2、添加多行文本框 1.3、添加单选框 1.4、添加复选框 1.5、添加下拉框…

目标检测——SSD模型介绍

目录 SSD网络结构backboneextra部分loc和clsPriorBox层先验框的生成方法loc的预测结果 模型训练正负样本标记损失函数困难样本挖掘 模型预测 SSD网络结构 backbone extra部分 loc和cls PriorBox层先验框的生成方法 loc的预测结果 模型训练 正负样本标记 损失函数 困难样本挖掘…

rabbitmq访问异常

看到这个问题&#xff0c;第一时间想到rabbitmq的问题&#xff0c;应该权限导致的 先创建virtual hosts 接着创建用户并赋予权限,将eayc的virtual hosts权限赋予acc用户即可 15:34:24.250 WARN com.rabbitmq.client.impl.ForgivingExceptionHandler - An unexpected connec…

自动驾驶技术架构

自动驾驶技术架构 自动驾驶技术架构 自动驾驶关键技术 自动驾驶汽车技术架构较为复杂&#xff0c;涉及了多领域的交叉互容&#xff0c;例如汽车、交通、通信等&#xff0c;基于自动驾驶相关的软硬件、辅助开发工具、行业标准等各方面关键问题&#xff0c;自动驾驶汽车关键技术…

RedisTemplate存数据乱码

目录 方法一&#xff1a;为RedisTemplate写一个配置类 方法二&#xff1a;用StringRedisTemplate 我猜测&#xff0c;你可能想往redis里直接存对象&#xff0c;但是存完后&#xff0c;打开redis&#xff0c;才发现自己存进去的key和value均是乱码。 原因可能是因为你用redis…

24考研数据结构-——绪论2

目录 1.4 算法的时间复杂度1.4.1 渐近时间复杂度1.4.2 常对幂指阶1.4.3 时间复杂度的计算1.4.4 最好与最坏时间复杂度 1.5 算法的空间复杂度1.5.1 空间复杂度1.5.2 函数递归调用&#xff08;未总结&#xff09;1.5.3 存储地址1.5.3.1 内存高低地址与高低位1.5.3.2 用户程序虚拟…

【目标跟踪】1、基础知识

文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波&#xff1f;——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测&#xff0c;对系统下一步要做什么进行推测&#xff0c;且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…

Hadoop——Hive运行环境搭建

Windows&#xff1a;10 JDK&#xff1a;1.8 Apache Hadoop&#xff1a;2.7.0 Apache Hive&#xff1a;2.1.1 Apache Hive src&#xff1a;1.2.2 MySQL&#xff1a;5.7 1、下载 Hadoop搭建 Apache Hive 2.1.1&#xff1a;https://archive.a…

基础 | 日志 | 体系介绍

INDEX 总览图上图的说明 总览图 上图的说明 日志体系的结构大约可以概括为 日志门面日志绑定层日志实现日志桥接层 slf4j 是 日志门面&#xff0c;所谓日志门面可以理解为日志总接口 slf4j-log4j、log4j-slf4j-impl 是 日志绑定层&#xff0c;日志绑定层的作用是将 日志门面…

嵌入式Linux开发常用命令以及工具总结

现在的Linux发行版诸如 Ubuntu、 CentOS、Fedora都具有图形界面环境&#xff0c;Linux 中的桌面环境&#xff08;GNOME、Unity等&#xff09;也是一个程序&#xff0c;它们是命令行的抽象&#xff0c;例如&#xff0c;当您通过单击“X”关闭窗口时&#xff0c;该操作会导致运行…