Python-文件操作

目录

一、文件的打开与关闭

1、文件的打开

2、文件模式

3、文件的关闭

二、文件的读写

1、写文件

2、读文件

3、文件的定位读写

三、文件的重命名和删除

1、文件的重命名

2、文件的删除

四、文件夹的相关操作

1、创建文件夹

2、获取当前目录

3、改变默认目录

4、获取目录列表

5、删除文件夹


一、文件的打开与关闭

1、文件的打开

使用open函数

file = open('文件名','访问模式')

注意:如果没有注明访问模式,必须保证文件是存在的,否则会报错。

2、文件模式

如果只传入文件名参数,那么默认是以只读方式打开文件。

访问模式:

r:默认模式,以只读方式打开文件

w:打开文件用于写入,如果文件存在则将其覆盖,否则创建新文件

a:打开一个文件用于追加

r+,w+,a+的模式都可以用于读写文件

对于处理二进制文件,比如声音或图像,对应打开模式则为:rb,wb,ab

3、文件的关闭

使用close函数:file.close()

尽管文件退出后自动关闭,但是考虑到数据的安全性,每次使用完文件都要进行关闭,否则一旦程序崩溃,很可能导致文件中数据没有保存。

二、文件的读写

1、写文件

使用write方法:file.write('写入内容')

如果文件不存在,系统会自动创建一个文件并写入数据,如果文件存在,则会清空文件原有数据,重新写入新数据。

2、读文件

使用read方法读取文件:read(size),size表示要从文件中读取数据的长度,单位为字节;

如果没有指定size,表示读取文件全部数据。

此外还可以使用readlines和readline进行读取,前者会返回一个列表,列表中每个元素为文件中的每一行数据,后者则是读取一行的数据,并且返回的数据类型不是列表。

下面我们看一下三者的不同效果:

其中test.txt的内容为

3、文件的定位读写

使用tell()方法:获取文件当前的读写位置

看例子:

使用seek方法:定位到文件的指定读写位置

用法:seek(offset,whence)

offset表示偏移量,即需要移动的字节数,正数表示向后移动offset位,负数则向前移动offset位。

whence表示方向,默认是0,表示从文件起始位置开始偏移;1表示从文件当前位置偏移;2表示从文件末尾开始偏移。

三、文件的重命名和删除

1、文件的重命名

需要先 import os

os模块的rename函数可以完成对文件的重命名操作:os.rename(src,dst)

src是需要修改的文件名,dst是修改后的新文件名

可以看到执行后就完成了对文件名的修改:

2、文件的删除

也是os模块,使用remove函数:remove(path)

其中path为指定路径下的文件,如果在当前路径下则直接用文件名即可。

四、文件夹的相关操作

1、创建文件夹

os模块下的mkdir方法(在Linux下创建文件夹也是使用的这个命令)

2、获取当前目录

使用os模块下的getcwd方法来获取当前的目录

3、改变默认目录

使用os模块下的chdir方法

4、获取目录列表

使用os模块下的listdir方法

5、删除文件夹

使用os模块下的rmdir方法

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据链路层中存在的报文ip,arp,rarp

IP数据报 ARP请求/应答报 RARP请求/应答报 IP数据报 这里的目的地址和源地址是MAC地址。 这个被称为 MAC 地址,是一个网卡的物理地址,用十六进制,6 个 byte 表示。 MAC 地址是一个很容易让人误解的地址。因为 MAC 地址号称全球唯一&…

【致远】致远OA取消个人空间显示。

【问题需求】 使用致远系统OA软件过程中,由于公司各个部门有对应的空间布局。 所以想要各个部门人员登陆后,默认对应部门空间。 但是所有人登录后,都会默认为个人空间。 虽然在首页设置–导航设置中,可以将个人空间取消显示&#…

网络编程---Socket

文章目录 网络编程基础什么是网络编程?网络编程的基本概念 网络编程实现Socket套接字UDP网络通信流程(回显服务器)服务器:客户端完整代码示例: TCP网络通信流程(回显服务器)服务器客户端完整的代…

我的架构复盘

1、背景 我目前公司研发中心担任软件研发负责人,研发中心分为3组,总共有30多人。研发中心主要开发各类生产辅助工具,比如巡检、安全教育等系统。系统不对外,只在公司内部使用。 就我个人来说,作为研发负责人&#xf…

SolidWorks2019安装教程(正版)

网盘资源附文末 一.简介 SolidWorks软件是世界上第一个基于Windows开发的三维CAD系统,由于技术创新符合CAD技术的发展潮流和趋势,SolidWorks公司于两年间成为CAD/CAM产业中获利最高的公司。良好的财务状况和用户支持使得SolidWorks每年都有数十乃至数百…

MyBatis入门

MyBatis是一款优秀的持久层框架,用于简化JDBC开发 持久层: 负责将数据保存到数据库的那一层代码 我们会将操作数据库的Java代码作为持久层,而MyBatis就是对jdbc代码进行了封装。 JavaEE三层架构:表现层、业务层、持久层 框架&…

2024最新最全:【Windows10】u盘安装系列教程【附安装包】

安装教程点这里:【Windows10】u盘安装系列教程【附安装包】 1.题外话 什么是如今程序员就业的风口? 对于那些初入计算机行业的新人和刚刚毕业的大学计算机专业学生来说,他们常常面临着就业市场的挑战。这是一个数据时刻: 首先…

【JavaEE】cookie和session

cookie和session cookie什么是 cookieServlet 中使用 cookie相应的API Servlet 中使用 session 相应的 API代码示例: 实现用户登陆Cookie 和 Session 的区别总结 cookie 什么是 cookie cookie的数据从哪里来? 服务器返回给浏览器的 cookie的数据长什么样? cookie 中是键值对…

NI-9219 100 S/s/ch国产化4通道C系列通用多功能模拟输入模块,支持多种传感器

100 S/s/ch,4通道C系列通用模拟输入模块 NI-9219专为多功能测试而设计。NI-9219可用于测量来自多种传感器(如应变计,电阻温度检测器(RTD),热电偶,测压元件和其他有源传感器等)的信号,以及制作1…

基于tpshop开发多商户源码支持手机端+商家+门店 +分销+淘宝数据导入+APP+可视化编辑

tpshop多商户源码,tpshop商城源码,tpshop b2b2c源码-支持手机端商家门店 分销淘宝数据导入APP可视化编辑 tpshop商城源码算是 thinkphp框架里做的比较早 比较好的源码了,写法简明 友好面向程序猿。 这是一款前几年的版本 虽然后台看着好了些,丝毫不影响…

基于VPP的TCP/UDP协议栈加速方案

今天给大家带来英特尔高级软件工程师刘勇在2023英特尔网络技术研讨会上的分享:《基于VPP的TCP/UDP协议栈加速方案》。 随着互联网流量的持续快速增长,作为网络的基本底层组件,TCP/UDP协议栈成为加速网络性能的重点方向。保持和提高带宽增加的…

Flutter 02 基础组件 Container、Text、Image、Icon、ListView

一、Container容器组件: demo1: import package:flutter/material.dart;void main() {runApp(MaterialApp(home: Scaffold(appBar: AppBar(title: const Text("你好Flutter")),body: const MyApp(),),)); }// 容器组件 class MyApp extends St…