写在前面:
本系列文章收录:CAU计算机类公选课《Python语言程序设计》的课堂讲义
课程时间为:2022~2023学年秋季
供各位小白参考~
文件操作
文件操作的四个步骤:
(1)打开文件:open()函数
(2)读取/写入文件:read() readline() readlines() write()等
(3)对读取到的数据进行处理。
(4)关闭文件。
1.文件的基本操作
文件打开的格式:
file=open(文件路径,读写模式)
文件路径:可以写入相对路径,也可以写入绝对路径。
读写模式:r(读取)、w(写入)、a(追加)
文件打开后,必须关闭,否则会持续消耗计算机性能。
【示例】打开文件:shi.txt
# 打开文件:文件路径是采用相对路径
file = open(r'./data/shi.txt','r')
# 打开文件:文件路径是采用绝对路径
# file = open('C:/Users/Administrator/PycharmProjects/pythonProject/data/shi.txt','r')
print(file)
print(type(file))
# 将读取的内容进行打印
print(file.read())
# 关闭文件
file.close()
2.文件的读取操作
read():如果()内填写数字,则读取指定字符的字符串,每次读取指定字符,在一个文件开启后,多次读取会持续向后读取字符,如果字符全部读取完成,将返回空字符串。
语法格式:
文件对象.read(单次最大读取字符数)
如果读取的文件不存在,则直接报错。
【示例】读取规定字数的文件内容。
# 打开文件:文件路径是采用相对路径
file = open(r'./data/shi.txt','r')
while True:
content = file.read(2)
if content == "":
break
print(content)
#关闭文件
file.close()
readline():每次读取一行数据,以“\n”为分隔符,在一个文件开启后,多次执行读取操作,会持续向后读取。如果字符全部读取完成,则返回空字符串。
语法格式:
文件对象.readline()
【示例】每次读取一行文件内容。
# 打开文件:文件路径是采用相对路径
file = open(r'./data/shi.txt','r')
while True:
content = file.readline()
if content == "":
break
print(content,end='')
#关闭文件
file.close()
readlines():一次性将文件全部读取,读取后,将文字以一行为一个元素,保存到列表中进行返回。
【示例】一次读取文件的全部内容。
# 打开文件:文件路径是采用相对路径
file = open(r'./data/shi.txt','r')
content = file.readlines()
print(content)
#关闭文件
file.close()
结果展示:
['轻轻的我走了,\n', '正如我轻轻的来;\n', '我轻轻的招手,\n', '作别西天的云彩。\n', '\n', '那河畔的金柳,\n', '是夕阳中的新娘;\n', '波光里的艳影,\n', '在我的心头荡漾。\n', '\n', '软泥上的青荇,\n', '油油的在水底招摇;\n', '在康河的柔波里,\n', '我甘心做一条水草!\n', '\n', '那榆荫下的一潭,\n', '不是清泉,是天上虹;\n', '揉碎在浮藻间,\n', '沉淀着彩虹似的梦。\n', '\n', '寻梦?撑一支长篙,\n', '向青草更青处漫溯;\n', '满载一船星辉,\n', '在星辉斑斓里放歌。\n', '\n', '但我不能放歌,\n', '悄悄是别离的笙箫;\n', '夏虫也为我沉默,\n', '沉默是今晚的康桥!\n', '\n', '悄悄的我走了,\n', '正如我悄悄的来;\n', '我挥一挥衣袖,\n', '不带走一片云彩。']
3.文件的写入操作
使用写入模式'w',打开文件。
如果文件存在,则清空源数据。
如果文件不存在,则新建文件,不得报错。
使用write()可以写入字符。
在windows电脑中写入文件时,需要使用encoding进行编码格式指定。
语法格式:open(文件路径,读写模式,encoding=编码格式)
【示例】写入文件内容。
file = open('./data/shi.txt','w',encoding='utf-8')
print(file)
file.write(
'''
锄禾日当午,
汗滴禾下土。
谁知盘中餐,
粒粒皆辛苦。
'''
)
file.close()
writelines():写入多行数据。
4.文件的追加操作
'a':模式下进行文件打开。
如果文件不存在,则创建新文件。
如果文件存在,则在原有文件内,进行字符串的追加,不会清空原文件。
在追加模式中,也是使用write()文件写入。
【示例】
file = open('./data/shi.txt','a',encoding='utf-8')
print(file)
file.write(
'''
白日依山尽,
黄河入海流。
欲穷千里目,
更上一层楼。
'''
)
file.close()
【示例】文件备份。
# 1.获取用户键入的文件名
file_name = input('请输入您要备份的文件名称:')
file = open(file_name,'r',encoding='utf-8')
# 2.通过文件读写操作进行备案
#2.1 拼接备份后的文件的名称
copy_file_name = file_name.replace('.','[备份].')
# 3. 打开新文件
copy_file = open(copy_file_name,'a')
while True:
content = file.read(3)
if content == '':
break
copy_file.write(content)
# 4.关闭文件
file.close()
copy_file.close()
7.rename和remove
rename():进行文件的重命名或文件移动
remove():进行文件的删除。
【示例】
import os
# os.rename('main[备份].py','backup.py')
os.remove('backup.py')
8.文件夹的操作
mkdir():创建一个空的文件夹,不能创建多级文件夹。
rmdir():删除空文件夹,不能删除有文件的文件夹。
getcwd():获取当前使用的工作目录的路径。
chdir():切换当前的工作目录。
listdir():查询指定目录的目录结构,将该目录下所有文件名以字符串形式保存在列表中进行返回。
【示例】
import os
# os.mkdir('images')
# os.rmdir('images')
print(os.getcwd())
print(os.listdir())
读取CSV文件
CSV文件也称为字符分隔值文件,因为分隔符除了逗号,还可以是“\t”。
CSV文件是一种常用的文本格式,用以存储表格数据,包括数字或者字符。
CSV文件特点:
1)纯文本文件。
2)以行为单位读取数据,每一行一条记录。
3)每条记录被分隔符分隔为字段。
4)每条记录都有同样的字符序列。
【示例】读取csv格式的文件。
import csv
file = open('./data/studentinfo.csv' ,'r')
content = csv.reader(file)
for row in content:
print(row)
运行结果:
['学号', '姓名', '性别', '班级']
['20210101', '初心', '女', '大数据01']
['20210201', '步忘', '男', '智能01']
['20210301', '梦想', '男', '区块链01']