Python操作文件及其内容的常用方式

news2024/11/15 8:18:45

Python操作文件及其内容的常用方式

文章目录

  • Python操作文件及其内容的常用方式
      • 1:修改文件名
          • 1.1:修改指定文件名
          • 1.2:修改目录下的所有文件的文件名
      • 2:读取文件
          • 2.1:读取文件内容
            • 2.1.1:按行读取
            • 2.1.2:按字节单个字符读取内容
            • 2.1.3:读取每行内容的指定内容
      • 3:写入文件
          • 3.1:编辑内容写入文件
      • 3:编辑内容

其中包含了、使用python修改文件名,使用python读取文件内容,使用python写入文件内容,使用python修改每行的指定内容。

1:修改文件名

修改文件名分为两种方式,第一种,修改指定文件的文件名,第二种,修改指定目录下的所有文件的文件名。

1.1:修改指定文件名
# 修改指定文件的文件名
def rename():
    path = "/Users/liujinshuai/desktop/"
    file_name = "test.txt"
    my_file_name = "myfile.txt"
    os.rename(path + file_name, path + my_file_name)

该操作将原有的 test.txt 文件重命名为了新的 myfile.txt 文件。

1.2:修改目录下的所有文件的文件名

比如目录 /Users/liujinshuai/Desktop/files/ 下包含着这三个txt文件。

在这里插入图片描述

# 修改指定目录下的所有文件的文件名
def renamedir():
	i = 0
	path="/Users/liujinshuai/Desktop/files/"
	for filename in os.listdir(path):
		my_file_name ="hello" + str(i) + ".txt"
		file_source =path + filename
		my_file_name =path + my_file_name
		os.rename(file_source, my_file_name)
		i += 1

执行过后,该目录下的文件的文件名将变为如下:

在这里插入图片描述

2:读取文件

2.1:读取文件内容
2.1.1:按行读取
# 读取文件内容
def readmsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    f = open (path, 'r')
    line = f.readline()
    while line:
        print(line)
        line = f.readline()
    f.close()

需要注意的是,要记得关闭文件操作,如 f.close()

除此之外,你还可以一次性获取所有行,以数组的形式访问指定行。

# 读取文件内容
def readmsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    f = open (path, 'r')
    line = f.readlines()
    print(line[0])
    f.close()
2.1.2:按字节单个字符读取内容
# 读取文件内容
def readmsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    f = open (path, 'r')
    read = f.read(1)
    print(read)
    f.close()
2.1.3:读取每行内容的指定内容

读取 第一行 的第一个字符:

# 读取文件内容
def readmsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    f = open (path, 'r')
    line = f.readlines()
    print(line[0][0])
    f.close()

3:写入文件

3.1:编辑内容写入文件
# 写入文件内容
def writemsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    f = open (path, 'w')
    f.write("hello world")
    f.close()

也可以一次性写入多条数据,首先需要使用一个数组来保存需要添加的数据。

# 写入文件内容
def writemsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    msg = ["hello world\n", "hello world\n", "hello world"]
    f = open (path, 'w')
    f.writelines(msg)
    f.close()

3:编辑内容

比如更改文件的第一行的内容:

# 更改文件内容
def editmsg():
    path = "/Users/liujinshuai/desktop/myfile.txt"
    f = open (path, 'r')
    line = f.readlines()
    line[0] = "hello world anny!!!\n"
    w = open (path, 'w')
    w.writelines(line)
    w.close()
    f.close()

如果你想将 hello world anny!!!\n 更改为 Hello world anny!!!\n

你只需要将 line[0] = "hello world anny!!!\n" 更改为 line[0][0] = "H"

这步操作是将第一行的第一个字符改为 H

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

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

相关文章

[Arduino]环境安装与配置

最近着迷与Arduio,可以连接控制各种器件帮助人类降低负担,如室内外温度动态采集、声控灯、自动给绿植浇水等各种应用,感觉挺有意思;随着最近两年物联网的推广及“万物互联”的普及,个人觉得物联网还是有点花样的&#…

认证授权功能分析

1 模块需求分析 1.1 什么是认证授权 截至目前,项目已经完成了课程发布功能,课程发布后用户通过在线学习页面点播视频进行学习。如何去记录学生的学习过程呢?要想掌握学生的学习情况就需要知道用户的身份信息,记录哪个用户在什么…

1949-2020年各省全要素生产率(年度)

1949-2020年各省全要素生产率(年度) 1、时间:1949-2020年 2、计算说明:产出为实际GDP,投入要素为从业人员数、固定资产(永续盘存法) 3、范围:包括31省 4、指标说明: 全要素生产率&#xf…

TiCDC 源码阅读(三)TiCDC 集群工作过程解析

内容概要 TiCDC 是一款 TiDB 增量数据同步工具,通过拉取上游 TiKV 的数据变更日志,TiCDC 可以将数据解析为有序的行级变更数据输出到下游。 本文是 TiCDC 源码解读的第三篇,主要内容是讲述 TiCDC 集群的启动及基本工作过程,将从…

MSR 5660设备进行流量整形和带宽保证的实现案例

组网及说明现场客户使用MSR5660设备替换客户处原有华为的设备,之前华为的设备做了GTS流量整形和WFQ的带宽保证,需求见下面图片描述配置步骤一、针对G1/0/1口入方向进行本地优先级的映射:(1)对进入设备G1/0/1口的流量进…

机器学习(二):人工智能发展历程

文章目录 人工智能发展历程 一、人工智能的起源 1、图灵测试 2、达特茅斯会议 二、发展历程 人工智能发展历程 一、人工智能的起源 1、图灵测试 测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘&…

synchronized 原理(锁升级、锁消除和锁粗化)

目录:一、前言二、锁升级三、锁消除四、锁粗化一、前言根据之前的锁策略,可以总结出, synchronized 具有以下特性( JDK 1.8):1. 开始时是乐观锁, 如果锁冲突频繁, 就转换为悲观锁。2. 开始是轻量级锁实现, 如果锁被持有的时间较长, 就转换成重量级锁。3.…

Javascript 职责链模式

现实中的职责链模式 职责链模式的例子在现实中并不难找到,以下就是两个常见的跟职责链模式有关的场景。 ❏ 如果早高峰能顺利挤上公交车的话,那么估计这一天都会过得很开心。因为公交车上人实在太多了,经常上车后却找不到售票员在哪&#x…

年前最后一次分享5款小工具

马上要回家过年了,今年最后一次分享,希望大家喜欢。 1.图片管理器——Imagine 在管理器支持直接预览压缩包图片。支持图片编辑、图片批量转换、批量重命名、支持 GIF 动态图片编辑。如插入帧、修改帧的速度、循环播放、尺寸。同时还支持让系统右键菜单…

熟悉 NestJS (文末附视频)

前言 经过了需求分析以及技术选型之后,我们正式步入了第三个环节:脚手架搭建。 工欲善其事,必先利其器,NestJS 为开发者提供了很多开箱即用的功能,我们可以根据团队的需求搭建一套适配所有业务开发的基础脚手架。所以…

帮助有一定计算机基础的人 快速复习并重新拾起C语言基础

这里写目录标题1.C语言程序举例2.详解C语言程序结构1)#include2)main 函数:3){} 括号,程序体和代码块4)注释5)print 函数6)return 语句3 C程序的编译步骤是怎样?4.数据的…

【Go基础】面向对象和反射机制

文章目录一、面向对象1. 面向对象的概念2. 构造函数3. 继承与重写4. 泛型二、反射1. 反射介绍2. 反射的基础数据类型3. 反射API3.1 reflect.Type①如何得到Type②指针Type转为非指针Type③获取struct成员变量的信息④获取struct成员方法的信息⑤获取函数的信息⑥判断类型是否实…

『 MySQL篇 』:MySQL表的CURD操作

📢 MySQL 系列专栏持续更新中 … MySQL专栏 ​ 目录 目录一、SQL语句- SQL通用语法- 注释- SQL语句分类二、 基础表操作- 创建表- 查看库中的表- 查看表结构- 删除表- 重命名表三、MySQL 中的增删查改操作- 增加(insert语句)- 查询(select语…

CSS 使用 @font-face 引入外部字体

CSS 使用 font-face 引入外部字体下载所需字体到本地把下载字体文件放入font文件夹里定义字体引用字体结果😬没有退路时,潜能就发挥出来了 CSS 中使用开源字体 得意黑 得意黑的字体是真的好看 ✨推荐使用 下载所需字体到本地 这里介绍一款不错的中文字…

Shiro:核心组件、配置类、多Realm场景、自定义拦截器、实战场景

目录Shiro 的核心组件Shiro 认证流程Shiro 授权流程单 RealmShiro 登陆认证 SimpleAuthenticationInfo 对象多 RealmShiroConfigShiro过滤器配置 ShiroFilterFactoryBeanShiro自定义过滤器Shiro 过滤器执行链路梳理代码自取层级结构Login.javaBearerTokenRealm.javaShiroRealm.…

桶排序详细说明及实现-python

前言: 说到桶排序,那必定要有桶,那么桶的作用是什么呢?桶的作用就是将序列分为若干份放到桶中,每个桶中能装入的数量范围是一定的,只有最后一个桶可以设置装入很多。这是因为当分的桶一定时,前面…

SpringMVC-基础入门

文章目录SpringMVC1,SpringMVC概述2,SpringMVC入门案例2.1 需求分析2.2 案例制作步骤1:创建Maven项目步骤2:补全目录结构步骤3:导入jar包步骤4:创建配置类步骤5:创建Controller类步骤6:使用配置类替换web.xml步骤7:配置Tomcat环境步骤8:启动运行项目步骤…

【软考】系统集成项目管理工程师(十五)项目采购管理

一、项目采购管理概述二、项目采购管理子过程1. 编制采购管理计划2. 实施采购3. 控制采购4. 结束采购三、招投标1. 招标人的权利和义务2. 招标代理机构的权利和义务3. 招标方式和招投标程序4. 相关的法律责任一、项目采购管理概述 采购意味着从外界来源获得商品或服务,采购一…

Vue3组件初始化流程分析

本文主要来分析 vue3 组件的初始化(基于runtime-core(核心运行时)包),将从createApp、mount 等常用 API 入手来分析组件的挂载、普通元素的挂载流程。 createApp 1、创建一个应用实例。使用方式如下: import { createApp } from vue import App from ./App.vueco…

进制转换(二进制、八进制、十进制、十六进制)超详细版

今天来总结一下各种进制转换问题,详细齐全易于理解,希望对你有帮助哦! 各种进制之间的相互转换 先从我们最熟悉的十进制入手吧,其他进制与十进制的转换方法都是一样的。 整型有4种进制形式: 1.十进制: …