python——文件的IO操作(IO==InputOutput)

Selena ·
更新时间:2024-11-10
· 649 次阅读

文件的IO操作

在了解文件的IO操作前,我们需要了解在计算机中什么才是文件?

一、文件的概述

计算机中的所有数据都是文件!
(1)文件的分类
广义上说文件是按照文件的类型进行分类的,比如说:视频文件、音频文件、图片文件、文档文件…
狭义上说文件是按照组成文件的数据格式进行分类的:文本文件,二进制文件。
文本文件:可以使用记事本正常打开的文件,里面是各种编程语言的源代码。
二进制文件:使用记事本打开会出现乱码的文件。
(2)文件的作用
使用文件的目的是把一些数据存储存放起来
(3)使用文件的流程
操作一个文件的流程一般是:打开文件,读写文件,关闭文件。通过程序操作文件的流程也是这三步。

二、文件的读写操作

python中提供了内置函数open()可以对文件进行读写操作。在cmd命令行中输入help(open),可以看到open()的详细用法。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

(1)文件IO
IO:Input&Output
①输出(Output):程序中的数据保存到计算机文件中
②输入(Input):将计算机的文件内容读取到程序中
(2)文本文件读取

file = open('file/test.txt', mode='r') # 以读取的方式打开文件,文件打开的默认方式也是读取(mode='r') ret = file.read() # 读取文件的内容 print(ret) # 打印从文件读取的内容 file.close() #关闭打开文件

(3)文本文件的写入

file = open('file/test.txt', mode='w') # 以写入的方式打开文件(mode='w'),如果文件不存在则会创建该文件 file.write("人生苦短,我用python") # 向文件写入文本 file.close() # 关闭文件

(4)二进制文件的读取

file = open("test1.txt", mode="rb") # b表示的是二进制文件 file.read() file.close()

(5)二进制文件的写入

file = open('file/test.txt', mode='rw') # 以写入的方式打开二进制文件(mode='wb'),如果文件不存在则会创建该文件 file.close() # 关闭文件

(6)文件复制案例代码
文件复制其实可以理解为将一个文件中的数据读取出来,然后写入一个新的文件中,这就完成了文件的复制操作。

def copy(file1, file2): """ 这是一个文件复制函数 file1是被复制文件 file2是复制后的文件 """ # 1、打开被复制的文件file1 f1 = open(file1, mode='rb') # 2、读取file1文件的内容 content = f1.read() # 3、以写入的方式打开file2文件 f2 = open(file2, mode='wb') # 4、将读取到的file1文件的内容写入file2文件中 f2.write(content) # 5、关闭file2文件 f2.close() # 6、关闭file1文件 f1.close()

(7)文件复制案例完善
在上面的文件复制函数中,我们执行之后发现文件复制完成后没有提示,这对于用户体验而言是极其不友好的,因此咱们来给该文件复制函数增加一个读取进度及完成提示功能。

""" 通过os.path.getsize()获取文件的大小 """ import os def copy(file1, file2): """ 这是一个文件复制函数 file1是被复制文件 file2是复制后的文件 """ # 1、打开被复制的文件file1 print('开始读取文件{}的内容'.format(file1)) f1 = open(file1, mode='rb') print(f'文件大小{os.path.getsize(file1)/1024}k') # 2、读取file1文件的内容 print('开始读取文件{}的数据'.format(file1)) content = f1.read() # 3、以写入的方式打开file2文件 f2 = open(file2, mode='wb') # 4、将读取到的file1文件的内容写入file2文件中 print('开始读取文件{}的数据'.format(file1)) f2.write(content) # 5、关闭file2文件 f2.close() # 6、关闭file1文件 f1.close() print("文件复制完毕") 三、with语句

with语句是是文件读写操作的一大福音。正常情况下咱们每次打开文件后都需要关闭文件。但是使用with语句后就可以自动关闭文件,不用手动关闭了。

'''with语句具体语法''' with open(file, mode="r") as f: # 操作文件内容,with语句中包含的代码执行完成 f.read() # 自动关闭文件(自动调用close()) 四、csv文件的操作

csv是python 中提供的一个内建模块,使用的时候需要import csv引入操作

import csv # (1)写入数据 # 系统数据 users = [ ["大树", 18, "男"], ["阿飞", 20, "女"] ] # 打开文件,并获取到csv模块的writer对象 with open("user.csv", "w", newline="") as file: # 获取writer对象 writer = csv.writer(file) # 写标题 writer.writerow(["姓名", "年龄", "性别"]) # 写入系统用户,保存数据 writer.writerows(users) # (2)读取数据 with open("user.csv", "r") as file: # 获取reader对象 reader = csv.reader(file) # 展示数据 for row in reader: print(row) B+Tree 原创文章 22获赞 5访问量 1403 关注 私信 展开阅读全文
作者:B+Tree



output io Python input

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章