首页 > 编程语言 >Python文件操作

Python文件操作

时间:2024-09-25 20:51:38浏览次数:9  
标签:文件 Python open file test 操作 txt 数据

文章目录

1. 什么是文件?

在这里插入图片描述

那么文件的类型都有哪些呢?

文件包括以下类型:

  • 文本文件:只包含文本字符,例如.txt、.html、.css、.js文件。
  • 图像文件:包含图像信息,例如.jpg、.png、.bmp、.gif文件。
  • 音频文件:包含音频信息,例如.mp3、.wav、.aac文件。
  • 视频文件:包含视频信息,例如.mp4、.avi、.mov文件。
  • 可执行文件:包含程序代码,例如.exe、.sh、.bat文件。
    说明
  • 目录就是可以用于存放多个文件、目录的集合;[os模块]
  • 文件是用于记录数据内容,通常是有后缀名的。[file对象]

使用计算机来操作文件,就是把一些数据内容存放起来,可以让程序下一次执行时,直接使用已保存的数据。

我们已知道,文件可以用来存储数据。若根据文件内容的不同来给文件分类,可分为:

(1)文本类型:存放文字类数据,读写时使用r、w。

(2)二进制原始数据类型:存放二进制bytes数据,比如图片、音频、视频等,读写时使用rb、wb。

2. 操作文件的步骤

在python中操作文件记录信息的步骤:

(1)打开文件,或新建一个文件;open()
(2)读取或写入数据内容;read()/write()
(3)关闭文件。close()

说明:无论操作文件的过程多么复杂,这个步骤基本是一致的。

2.1 打开文件

在操作一个文件前,需要先打开文件。

函数名含义
open(name,mode)创建一个新文件或打开一个已经存在的文件,name指的是文件名,mode指的是访问模式。

常见的mode访问模式有:

模式描述
r以读数据的方式打开文件,这是默认模式,可以省略。
rb以读二进制原始数据的方式打开文件。
w以写数据的方式打开文件。如果文件已存在,则打开文件写入数据是会覆盖原有内容;如果文件不存在,则创建新文件。
wb以写二进制原始数据的方式打开文件。
a使用追加内容形式,打开一个文件。通常用于写数据,此时会把新内容写入到已有内容后。

说明

(1)访问模式r表示read,即读;

(2)访问模式w表示write,即写。

2.2 读数据

在读取文件前,该文件必须已存在。

函数名含义
read()从某文件中,一次性读完整的数据。
readlines()按行的方式把文件中的完整内容进行一次性读取,并返回一个列表。
readline()一行一行读文件中的数据内容。

说明:当访问模式有r时,可以读数据。

2.3 写数据

在写文件数据前,文件若不存在,则创建一个新文件。

写数据含义
write(seq)给某文件写数据。

说明
(1)当访问模式有w时,可以写数据;

(2)当使用访问模式a时,用于追加数据内容,也可以写入数据。

2.4 关闭文件

当每次打开文件及使用完毕后,都需要进行关闭文件,用于释放系统内存资源。

函数名含义
close()关闭文件。

3. 写数据实例

例如,一起来完成:

(1)给test.txt文件分别写入数据:Hello World、123456;

# 1.打开文件
file = open("./file/test.txt","w")
# 2.写入数据
file.write("Hello World.")
file.write("123456")
# 3.关闭文件
file.close()
print("已成功写入数据!")

(2)思考1:如果要给文件写入内容:请成为厉害的大人和更可爱的小孩,会怎样?

# # 扩展
file = open("./file/test.txt","a")
file.write("\n请成为厉害的大人和更可爱的小孩")
file.close()
print("已成功写入数据!")

在这里插入图片描述
解决中文乱码:添加编码集

# # 扩展
file = open("./file/test.txt","a",encoding='utf-8')
file.write("\n请成为厉害的大人和更可爱的小孩")
file.close()
print("已成功写入数据!")

(3)思考2:如果要在文件原有内容基础上,再追加内容:hello lxy,该怎么做呢?

file = open("./file/test.txt","a")
file.write("\nhello lxy")
file.close()
print("已成功写入数据!")

在这里插入图片描述
注意/n是换行符。

4. 快捷读取数据

为了简化读写数据的操作,也可以使用语法:

with open(xxx, xx) as 变量名:
	变量名.read()
	# 变量名.write(xxx)

实例:
(1)读取test.txt文件的数据内容,并输出;

# 1.打开文件
file = open("./file/test.txt","r",encoding="utf8")
# 2.读数据
texts = file.read()
print(texts)
# 3.关闭文件
file.close()
with open("./file/test.txt","r",encoding='utf8') as file:
    texts = file.read()
print(texts)

5. 备份文件

备份文件指的是:将原文件的数据内容进行重新写入到另一个新文件中。
实例:
(1)将test.txt文件进行备份处理;

(2)备份文件名为:xxx[备份]后缀名,比如test
[备份].txt。

# 1.打开原始文件
reader = open("./file/test.txt","r",encoding="utf-8")
# A.打开目标文件
writer = open("./file/test[备份].txt","w",encoding="utf-8")

# 2.读数据
texts = reader.read()
# B.写数据 -读取的原始文件的数据
writer.write(texts)

# 3.关闭文件
reader.close()
# C.关闭目标文件
writer.close()
print("已成功备份文件..")

在这里插入图片描述

标签:文件,Python,open,file,test,操作,txt,数据
From: https://blog.csdn.net/m0_70882914/article/details/142518252

相关文章

  • 【问题】打开收音机,选择听筒模式,连接蓝牙耳机,播放录音文件,调节音量,声音没有变化
    1、通过起流、停流,不确定stream应该是0,还是3,判断不出来是哪部分日志。AudioFlinger:pid(30768)AudioFlinger:pid(3375)可以查一下,这两个pid都是什么应用在播,:com.hihonor.soundrecorder就是收音机在播放。AS.AudioService:VoicecallactivepkgName:com.hihonor.soundreco......
  • 04 python编码相关
    对于Python默认解释器编码:py2:asciipy3:utf-8如果想要修改默认编码,则可以使用:#-*-coding:utf-8-*-注意:对于操作文件时,要按照:以什么编写写入,就要用什么编码去打开。8、解释器#!/usr/bin/envpython#在linxu中指定解释器的路径#-*-coding:utf-8-*-环境头只......
  • Mongodb 常见操作:查询,排序,查看索引,创建索引等
    //insertdb.books.insert([{_id:12,item:"pencil1",qty:51,type:"no.1"},{_id:21,item:"pencil1",qty:52,type:"no.2"},{_id:31,item:"pencil1",qty:53,type:"no.3"},])db.b......
  • 基于Java对数据库的增加和查询操作
     在开始编码前,我们需要先给IDEA配置下面两个jar文件:第一步:我们先进行数据库的连接publicclassDBUtils{/***打开数据库*///优化:让加载器等操作,只做一次publicstaticStringdriver;//驱动地址publicstaticStringurl;//数据库的地......
  • 文件系统的简单介绍
    什么是文件系统文件系统是对常规文件和目录的组织集合我的理解是,文件系统就相当于是一种和用户的约定,它规定了该文件系统下文件的存储方式和访问方式等,然后用户访问该文件系统下的文件,就得遵循这个约定常规文件系统一般文件系统的组成如上,引导块是操作系统使用的,超级块就记......
  • Python笔记
    Python笔记(大数据方向)一、基本数据类型1、数字类型1.1、整型(int)i=100t=type(i)print(i,t)1.2、浮点型(float)f=12.14t=type(i)print(f,t)1.3、布尔型(False,True)b=Truet=type(b)print(b,t)2、字符串使用单引号将若干个字符括起来的序列,叫做字符串a1='这是......
  • Hadoop小文件解决方案
    1.背景HDFS并不擅长存储小文件,因为每个文件最少一个block,每个block的元数据都会在NameNode占用内存,如果存在大量的小文件,它们会吃掉NameNode节点的大量内存。如下所示,模拟小文件场景:2.Archive概述HadoopArchives可以有效的处理以上问题,它可以把多个文件归档成为一个文件,归档成一......
  • Dockerfile文件详解
    什么是dockerfile?Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成映像。dockerbuild命令用于从Dockerfile构建映像。可以在dockerbuild命令中使用-f标志指向文件系统中任何位置的Dockerfile。例......
  • sersync+rsync实现服务器文件实时同步
    sersync+rsync实现服务器文件实时同步一、为什么要用rsync+sersync架构?1、sersync是基于inotify开发的,类似于inotify-tools的工具2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用r......
  • rsync+inotfiy文件同步
    rsync+inotfiy文件同步1.部署rsync服务yuminstallrsync#安装rsync,如果嫌yum版本过低也可以源码安装2.vim/etc/rsyncd.conf#默认rsync没有配置文件,创建一个,文件中#和汉字仅为注释,使用中请将所有注释清除......