Python (十二) 文件


程序员的公众号:源1024,获取更多资料,无加密无套路!

最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等
获取方式: 关注公众号并回复 666 领取,更多内容持续奉上


目录

文件

创建文件

函数

写入

读取

定位

系列文章索引


文件

Python open() 方法用于打开一个文件,并返回文件对象。

语法格式

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明
file文件路径(相对或绝对路径)
mode可选,文件打开模式
buffering设置缓冲
encoding

解码或编码文件的编码,一般使用utf8

errors报错级别
newline区分换行符
closefd传入的file参数类型
opener设置自定义开启器
model参数说明
t文本模式 (默认)
x写模式,新建一个文件,如果该文件已存在则会报错
b二进制模式
+打开一个文件进行更新(可读可写)
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

创建文件

open('file.txt', mode='w',encoding='utf-8')

函数

close()

关闭文件。关闭后文件不能再进行读写操作。
flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件
read(size)

读取指定的字节数,参数可选,无参或参数为负时读取所有

readline()

读取一行

readlines()

读取所有行并返回列表

write()

将字符串写入文件,返回写入字符长度

writelines()

向文件写入一个字符串列表

tell()返回文件当前位置

truncate()

从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除
seek()

将文件对象移动到指定的位置

写入
#写入
wf = open('file.txt', 'w', encoding='utf-8')
wf.write('你好\n')
wf.writelines(['Hello\n', 'Python'])
# 关闭
wf.close()

 用with as 语句来代替close(),程序执行完成后会自动关闭已经打开的文件


with open('file.txt','w',encoding='utf-8') as wf:
    wf.write('你好\n')
    wf.writelines(['Hello\n', 'Python'])
读取
with open('file.txt', 'r', encoding='utf-8') as rf:
    print(rf.readline())
    print(rf.read(3))
    print(rf.readlines())
定位
with open('file.txt', 'rb+') as f:
    f.write(b'hello')
    # 文件对象位置
    print(f.tell())
    # 移动到文件的第四个字节
    f.seek(3)
    print(f.tell())  

#输出
5
3


系列文章索引

Python(一)关键字、内置函数

Python(二)基本数据类型

Python(三)数据类型转换

Python(四)字符串

Python(五)数字

Python(六) 列表

Python(七) 条件控制、循环语句

Python(八) 字典

Python(九) 集合


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

chrome内置路径合集

设置黑夜模式: 输入网址:chrome://flags/ 搜索dark 改为enable 实验项目路径 chrome://flags/ 可用来启用或者关闭某些 Chrome 的实验功能 chrome://settings 将快速打开 Chrome 浏览器的设置页面,页面的内容分类划分为基础和高级设置选项 …

JOSEF 静态中间继电器 ZJY-420 DC220V 板前接线,带底座 增加触点

系列型号: ZJY-400中间继电器;ZJY-600中间继电器; ZJY-800中间继电器;ZJY-020中间继电器; ZJY-040中间继电器;ZJY-060中间继电器; ZJY-006中间继电器;ZJY-008中间继电器;…

GitHub 2023报告-开源和AI的现状

GitHub 2023报告-开源和AI的现状 深入探讨人工智能如何与开源互动,以及未来几年可能出现的趋势。 背景介绍 2023年,开源已成为全球软件开发的标准。无论是大公司还是小团队,都广泛使用开源技术进行项目开发。此外,随着机器学习和…

Notion AI会员订阅付费

一、Notion AI优势: 自动化任务:NotionAI可以自动完成一些重复性任务,例如对内容进行分类和标记,从而提高工作效率和减少人力成本。个性化建议:NotionAI可以根据用户的偏好和行为模式提供个性化的建议和推荐&#xff…

编译器优化代码研究

《Effective C》条款21: /** * 结论:对自定义类型对象表达式objA*objB objC; * 定义friend MyInt operator*(const MyInt& lhs,const MyInt& rhs) * 编译器优化后:operator*()函数内直接在调用接收处构造(此处的匿名临时对象)&am…

2023年以就业为目的学习Java还有必要吗?

文章目录 1活力四射的 Java2从零开始学会 Java3talk is cheap, show me the code4结语写作末尾 现在学 Java 找工作还有优势吗? 在某乎上可以看到大家对此问题的热议:“2023年以就业为目的学习Java还有必要吗?” 。有人说市场饱和&#xff0c…

VMware——WindowServer2012R2环境安装mysql5.7.14解压版_主从复制(图解版)

目录 一、服务器信息二、192.168.132.33主服务器上安装mysql(主)2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 …

HP惠普暗影精灵7Plus笔记本OMEN 17.3英寸游戏本17-ck0000恢复原厂Windows11预装OEM系统

链接:https://pan.baidu.com/s/1ukMXI2V3D0c-kVmIQSkbYQ?pwd2rbr 提取码:2rbr hp暗影7P原厂WIN11系统适用型号: 17-ck0056TX, 17-ck0055TX, 17-ck0054TX ,17-ck0059TX 自带所有驱动、出厂时主题壁纸、…

数据湖的概念、发展背景和价值

数据湖是一个集中化的存储系统,旨在以低成本、大容量的方式,无需预先对数据进行结构化处理,存储各种结构化和非结构化数据。以下是数据湖概念、发展背景和价值的详细介绍。 数据湖概念 数据湖的概念源自于对传统数据仓库的补充。传统数据仓…

git常常用命令

这篇文章中,一些简单的,大家都知道的git 命令我就不再赘述,我只写出来最近在项目中常用到的一些命令。这些命令可以帮助我更好的开发。 git stash 请大家设想下面的场景,你的本地有两个分支,develop,fix分支&#xf…

java创建指定分辨率的图片或修改图片的分辨率(DPI)

因为java默认的图片像素分辨率DPI72,分辨率有点低。所以研究了一下如何创建指定DPI的方案。 DPI: 指的是每英尺的像素点(dots per inch) JPEG图片 JPEG图片的元数据定义参看oracle官网。 https://docs.oracle.com/javase/8/docs/api/javax/imageio/me…

关于“计算机中由于找不到msvcr120.dll,无法继续执行代码5种解决方法

今天,我想和大家分享一下关于“由于找不到msvcr120.dll,无法继续执行代码5种解决方法”的话题。在我们日常的使用中,有时候会遇到这样的问题:在运行某个程序时,突然提示“无法继续执行代码,因为找不到msvcr120.dll”。…

七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境

前言 SQLite的一个重要的特性是零配置的、无需服务器,这意味着不需要复杂的安装或管理。它跟微软的Access差不多,只是一个.db格式的文件。但是与Access不同的是,它不需要安装任何软件,非常轻巧。 七天.NET 8操作SQLite入门到实战…

Web功能测试有哪些常用方法?

检验方法 1页面链接检查每一个链接是否都有对应的页面,并且页面之间切换正确; 2相关性检查删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3检查按钮的功能是否正确如update, cancel, delete, save等…

python3函数

1、定义函数 函数代码块以def关键词开头,后接函数标识符名称和圆括号任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数函数内容以冒号:起始,并且缩进return【表达式】结束函数,选择性返回一个值调…

MySQL之BETWEEN AND包含范围查询总结

一、时间范围 查询参数格式与数据库类型相对应时,between and包含头尾,否则依情况 当数据库字段中存储的是yyyy-MM-dd格式,即date类型: 用between and查询, 参数yyyy-MM-dd格式时,包含头尾,相当…

测试老鸟告诉你,直击准备2024年初/高级测试技术面试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 你眼中的软件测试…

基于单片机预费电表控制系统(proteus仿真+源程序)

一、系统方案 1、本设计采用这51单片机作为主控器。 2、采集电量值送到液晶1602显示。 3、按键设置预设值,实际使用电量超过设置,蜂鸣器报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void LCD_init(void) { …

C语言——用递归函数计算n!

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 比别人多一点努力,你…

GCC 学习

GCC Resource Center for GCC Internalshttps://www.cse.iitb.ac.in/grc/这是个不错资料网站,有兴趣的可以了解下