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.mzph.cn/news/127340.shtml

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

相关文章

Linux-----nginx的简介,nginx搭载负载均衡以及nginx部署前后端分离项目

目录 nginx的简介 是什么 nginx的特点以及功能 Nginx负载均衡 下载 安装 负载均衡 nginx的简介 是什么 Nginx是一个高性能的开源Web服务器和反向代理服务器。它的设计目标是为了解决C10k问题,即在同一时间内支持上万个并发连接。 Nginx采用事件驱动的异…

JAVA数据类型分类及初始默认值(详细)

前言 在学习Java的时候会接触到数据类型,那么在Java中有哪些数据类型呢? Java数据类型主要分为两大类 1.基本类型(primitive type)2.引用类型(reference type) 1.基本类型里分为:数值类型、…

Hadoop相关知识点

文章目录 一、主要命令二、配置虚拟机2.1 设置静态ip2.2 修改主机名及映射2.3 修改映射2.4 单机模式2.5 伪分布式2.6 完全分布式 三、初识Hadoop四、三种模式的区别4.1、单机模式与伪分布式模式的区别4.2、特点4.3、配置文件的差异4.3.1、单机模式4.3.2、伪分布式模式4.3.3、完…

平面波向球面波的展开

平面波向球面波的展开是一个极其重要的话题 手稿放在文章的结尾处 勒让德展开 citation 1: 我们整理一下,对exp(x)做泰勒展开,得 citation 2: 我们先把精力集中到解决这个积分上去 反复利用分部积分 考虑到奇偶性问题 当且仅当时积分不为零现在做变换 …

解决Windows Server 2012 由于没有远程桌面授权服务器可以提供需求可证

刚开始提示 之后就登录不了 (如下图提示) 由于windows server 2012 R2 安装了 远程桌面角色,但是这个角色是120天免费的,需要购买授权的。解决方法是取消/删除这个角色,就可以恢复正常的远程 一直下一步 远程桌面服…

IDEA使用-通过Database面板访问数据库

文章目录 前言操作过程注意事项1.无法下载驱动2.“Database”面板不显示数据库表总结前言 作为一款强大IDE工具,IDEA具有很多功能,本文将以MariaDB数据库访问为例,详细介绍如何通过IDE工具的Database面板来访问数据库。 操作过程 不同的版本操作会略有差异,这里我们用于演…

【JavaScript保姆级教程】switch分支与while循环

文章目录 前言一、Switch分支1.1 switch基本结构1.2 break语句1.3 default标签1.4 下面是几个Switch分支的示例代码:示例1: 根据星期数输出对应的中文星期名称示例2: 根据用户输入的颜色选择执行不同的操作 二、While循环:2.1 while循环基本格式2.2 cont…

一文速通Sentinel熔断及降级规则

目录 基本介绍 熔断模式 状态机的三个状态 熔断降级规则 断路器熔断策略 慢调用 异常比例 异常数 基本介绍 熔断模式 主要是参考电路熔断,如果一条线路电压过高,保险丝会熔断,防止火灾。放到我们的系统中,如果某个目标…

云安全-云原生基于容器漏洞的逃逸自动化手法(CDK check)

0x00 docker逃逸的方法种类 1、不安全的配置: 容器危险挂载(挂载procfs,Scoket) 特权模式启动的提权(privileged) 2、docker容器自身的漏洞 3、linux系统内核漏洞 这里参考Twiki的云安全博客,下…

【通关选择】upload-labs通关攻略(全)

前提条件: 1.文件能够成功上传到服务器 2.攻击者能够知道文件的上传路径 upload-labs靶场 Pass-01( 前端验证) 三种方法解决思路 1.禁用客户端JavaScript弹窗 2.通过burp抓包,修改后缀名 3.f12删除return filecheck&#xff0…

测试用例设计——WEB通用测试用例

现在项目做完了,我觉得还是有必要总结一下,学习到的内容。毕竟有总结才能有提高嘛!总结一下通用的东西,不管什么项目基本都可能会遇到,有写地方也有重复的或者有的是按照个人的习惯来总结的不一定都对,有不…

【深度学习】pytorch——实现CIFAR-10数据集的分类

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 往期文章: 【深度学习】pytorch——快速入门 CIFAR-10分类 CIFAR-10简介CIFAR-10数据集分类实现步骤一、数据加载及预处理实现数据加载及预处理归一化的理解访问数据集Dataset对象Dataloader对象 二、…

HTML区块、布局

HTML区块&#xff1a; HTML可以通过<div> 和 <span>将元素组合起来。大多数HTML元素被定义为块级元素或内联元素。块级元素在浏览器显示时&#xff0c;通常会以新行来开始、结束&#xff1b;内联元素在显示时通常不会以新行开始。 HTML<div>元素是块级元素…

JavaWeb 怎么在servlet向页面输出Html元素?

service()方法里面的方法体&#xff1a; resp.setContentType("text/html;charsetutf-8");//获得输出流PrintWriter对象PrintWriter outresp.getWriter();out.println("<html>");out.println("<head><title>a servlet</title>…

docker部署minio并使用springboot连接

需求&#xff1a;工作中&#xff0c;在微信小程序播放时&#xff0c;返回文件流并不能有效的使用&#xff0c;前端需要一个可以访问的地址&#xff0c;springboot默认是有资源拦截器的&#xff0c;但是不适合生产环境的使用 可以提供使用的有例如fastdfs或者minio&#xff0c;这…

Qt实现的自定义登录框连接MySQL(完整的实现过程)

一.开始创建项目 1.创建Qt窗口应用项目: 2.输入文件名、选择项目将要保存的地址 3.构造系统选择qmake 4.类名使用默认的就好,点击继续完成项目的创建 5.创建好的项目如下 二.创建一个资源管理文件 三.创建一个登录对话框窗口 1.选择一个ui界面类 2.选择Dialog without Butt…

git生成gitee和github两个不同的公钥

配置多个公钥 Windows 用户建议使用 Windows PowerShell 或者 Git Bash&#xff0c;在 命令提示符 下无 cat 和 ls 命令。 1、生成公钥文件&#xff1a; 通过命令 ssh-keygen 生成 SSH Key&#xff1a; ssh-keygen -t rsa -C "Gitee SSH Key" -f ~/.ssh/gitee_be…

【Unity ShaderGraph】| 快速制作一个 抖动效果

前言 【Unity ShaderGraph】| 快速制作一个 抖动效果一、效果展示二、UV抖动效果三、应用实例 前言 本文将使用ShaderGraph制作一个抖动效果&#xff0c;可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章&#xff1a;【Unity ShaderGraph】| Shader Gr…

dash--项目的前端展示简单基础

1.前置工作 创建虚拟环境&#xff1a; sudo apt-get install python3-venv # 安装 python3 -m venv venv # 在本目录下创建venv虚拟环境&#xff08;也是一个文件夹。如果用不到这个虚拟环境以后就rm -rf venv&#xff09; source venv/bin/activate # 激活虚拟环境临时使用清华…

poi兴趣点推荐数据集介绍

介绍 foursquare数据集包含2153471个用户&#xff0c;1143092个场所&#xff0c;1021970个签到&#xff0c;27098490个社交关系以及用户分配给场所的2809581评级&#xff0c;我们常用的是根据NYC和TKY都是从该数据集中抽取出来的。 下载地址&#xff1a;https://sites.google.…