【Python讲义】WEEK 8

写在前面:

本系列文章收录: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']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MorleyOlsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值