一、文件的打开和关闭
有了文件系统可以非常方便的通过文件来读写数据;在Python中要实现文件操作是非常简单的。我们可以使用Python内置的open
函数来打开文件,在使用open
函数时,我们可以通过函数的参数指定文件名、操作模式和字符编码等信息,接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件(字符文件或二进制文件)以及做什么样的操作(读、写或追加),具体如下表所示。
操作模式 | 具体含义 |
---|---|
'r' | 读取 (默认) |
'w' | 写入(会先截断之前的内容) |
'x' | 写入,如果文件已经存在会产生异常 |
'a' | 追加,将内容写入到已有文件的末尾 |
'b' | 二进制模式 |
't' | 文本模式(默认) |
'+' | 更新(既可以读又可以写) |
1.文件的打开
使用Word编写一份简历的流程:
- 打开新建一个Word文件
- 写入个人简历信息
- 保存文件
- 关闭Word软件
操作文件的整体过程和word写简历的过程类似:
- 打开或新建立一个文件
- 读/写数据
- 关闭文件
在python中,使用 open方法
打开文件:
open(文件名,访问模式)
- “文件名”必须要填写
- “访问模式”是可选的
注意
:
如果使用open函数打开文件时,如果没有注明访问模式,则必须保证文件是存在的,否则会报异常。
Traceback (most recent call last):
File "<input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
2.文件的模式
基本:
- r:默认模式,以只读方式打开文件
- w: 打开一个文件只用于写入
- a: 打开一个文件用于追加
- rb: 以二进制格式打开一个文件用于只读
- wb: 以二进制格式打开一个文件只用于写入
- ab: 以二进制格式打开一个文件用于追加
复杂:
- r+: 打开一个文件用于读写,文件指针会放在文件开头
- w+: 打开一个文件用于读写,如果已经存在则会覆盖
- a+: 打开一个文件用于读写,如果已经存在,则会放在末尾
- rb+:以二进制格式打开一个文件用于读写
- wb+: 以二进制格式打开一个文件用于读写。如存在则覆盖
- ab+: 以二进制格式打开一个文件用于追加
3.文件的关闭
凡是打开的文件,切记要使用close
方法关闭文件。
# 新建一个文件,文件名为:test.txt
f = open(itheima.txt', 'w')
# 关闭这个文件
f.close()
二、文件的读写
1.写文件
向文件写数据,需要使用 write()
方法来完成,在操作某个文件时,每调用一次write方法,写入的数据就会追加到文件末尾。
# 一万次悲伤,依然会有Dream,我一直在最温暖的地方等你!
# @Time : 2022/1/23 13:00
# @Author : 是Dream呀!
# @File : 文件写入.py
f = open('xyp.txt', 'w')
f.write('hello qiaoqiao, i am here!')
f.close()
如果没有此文件的话,会重新生成一个名为xyp.txt的文件:
打开此txt文件会有,我们写入的内容:
2.读文件
方式1:使用read方法读取文件
read(int)函数, 读取文件内容。如果指定读取长度,会按照长度去读取,不指定默认读取所有数据
# 一万次悲伤,依然会有Dream,我一直在最温暖的地方等你!
# @Time : 2022/1/23 13:05
# @Author : 是Dream呀!
# @File : 文件读.py
f = open('xyp.txt', 'r')
content = f.read(12)
print(content)
content = f.read()
print(content)
f.close()
# hello qiaoqi
# ao, i am here!
前面读过的,后面就不会再读了。
我们将原文件,再写入一行:
方式2:使用readlines方法读取文件
readlines()是按行输出列表,会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据
f= open('xyp.txt', 'r')
content = f.readlines()
print(content)
----去掉括号和换行的方法----
f= open('xyp.txt', 'r')
content = f.readlines()
print(content)
for i in content:
i = i.strip('\n')
print(i)
方式3:使用readline方法一行一行读数据
readline()是读取一行,遇到换行结束
f = open('xyp.txt', 'r')
content = f.readline()
print("1:%s"%content)
content = f.readline()
print("2:%s"%content)
f.close()
3.文件的定位读写
方式1:使用tell方法来获取文件当前的读写位置
f = open("xyp.txt", "r")
str = f.read(4)
print('读取的数据是 : ', str)
position = f.tell()
print("当前文件位置 : ", position)
# 读取的数据是 : hell
# 当前文件位置 : 4
tell()
方法返回文件的当前位置,即文件指针当前位置
。
方式2:使用seek方法来移动文件读取指针到指定位置
seek(offset, from)方法包含两个参数:
- offset:表示偏移量,也就是代表需要移动偏移的字节数
- from:表示方向,可以指定从哪个位置开始偏移
- 0:表示文件开头(默认值)
- 1:表示当前位置
- 2:表示文件末尾
三、文件的重命名和删除
1.文件的重命名
os模块中的rename()方法可以完成文件的重命名。
格式如下:
os.rename(需要修改的文件名, 新的文件名)
2.文件的删除
os模块中的remove()方法可以完成文件的删除操作。
格式如下:
os.remove(待删除的文件名)
在这里插入图片描述
四、文件的相关操作
1.创建文件夹
os模块的mkdir方法用来创建文件夹,示例如下:
import os
os.mkdir("张三")
2.获取当前目录
os模块的getcwd方法用来获取当前的目录,示例如下:
import os
os.getcwd()
3.改变默认目录
os模块的chdir方法用来改变默认目录,示例如下:
import os
path = "Python文件操作"
# 查看当前工作目录
retval = os.getcwd()
print("当前工作目录为 %s" % retval)
# 修改当前工作目录
os.chdir(path)
# 查看修改后的工作目录
retval = os.getcwd()
print("目录修改成功 %s" % retval)
4. 获取目录列表
os模块的listdir方法用于获取目录列表,示例如下:
import os
os.listdir (”./”)
5. 删除文件夹
os模块的rmdir方法用于删除文件夹,示例如下:
import os
os.rmdir ('张三')
好书推荐
数据预处理是数据可视化、数据分析和机器学习的第一步,它将为分析和预测模型准备数据以帮助分析师获得最佳见解。分析师在执行数据分析、数据可视化和机器学习项目时,大约90%的时间都花在数据预处理上。
本书将从多个角度为读者提供最佳的数据预处理技术。读者将了解数据预处理的不同技术和分析过程(包括数据收集、数据清洗、数据集成、数据归约和数据转换等),并掌握如何使用开源Python编程环境来实现它们。
京东: 购买链接传送门
《Python数据预处理》详细阐述了与Python数据预处理相关的基本解决方案,主要包括NumPy和Pandas简介、Matplotlib简介、数据、数据库、数据可视化、预测、分类、聚类分析、数据清洗、数据融合与数据集成、数据归约、数据转换等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。