一.文件操作文件是指存储在外部介质上数据的集合 , 文本文件编码方式包括ASCII格式、Unicode码、UTF-8码、GBK编码等 。文件的操作流程为“打开文件-读写文件-关闭文件”三部曲 。
1.打开文件打开文件调用open()函数实现 , 其返回结果为一个文件对象 , 函数原型如下:
= open(, )-表示打开文件名称-表示文件打开模式
其中mode常见参数包括:- r: 只读 , 文件指针将会放在文件的开头
- w:只写 , 如果文件已存在则打开文件 , 并从开头开始编辑 , 即原有内容会被删除;如果该文件不存在 , 创建新文件
- a: 打开一个文件用于追加 , 如果该文件已存在 , 文件指针将会放在文件的结尾;如果该文件不存在 , 创建新文件进行写入
- rb: 只读二进制文件 , 一般用于非文本文件如图片等
- wb: 只写二进制文件 , 一般用于非文本文件如图片等
- ab: 以二进制格式打开一个文件用于追加
- w : 打开一个文件用于读写
- open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
infile = open("test.txt","r")
注意:使用open()方法一定要保证关闭文件对象 , 即调用close()方法 。2.读写文件(1) 读文件
常用文件读取方法包括:
- read()返回值为包含整个文本内容的一个字符串
- readline()返回值为文件内容的下一行内容的字符串
- readlines()返回值为整个文件内容的列表 , 列表中每项为一行字符串
infile = open("test.txt","r",encoding="utf8")data = https://www.shwenmu.com/wenda/infile.read()print(data)print("")infile = open("test.txt","r",encoding="utf8")list_data = https://www.shwenmu.com/wenda/infile.readlines()print(list_data)
输出结果如下图所示:(2) 写文件
从计算机内存向文件写入数据 , 方法包括:
write()把含有文本数据或二进制数据集的字符串写入文件中
writelines()针对列表操作 , 接收一个字符串列表参数 , 并写入文件
outfile1 = open('test.txt','a ',encoding="utf8")str1 = 'nhellon'str2 = 'worldn'outfile1.write(str1)outfile1.write(str2)outfile1.close()outfile2 = open('test02.txt','w',encoding="utf8")outfile2.writelines(['hello',' ','world'])outfile2.close()infile = open('test.txt','r',encoding="utf8")data = https://www.shwenmu.com/wenda/infile.read()print(data)
针对test.txt文件完成追加写入操作 , 针对test02.txt文件完成新建及写入操作 , 同时调用write()和writelines()不同方法写入数据 。3.关闭文件文件读写结束后 , 一定要记住使用close()方法关闭文件 。如忘记使用该关闭语句 , 则当程序突然崩溃时 , 该程序不会继续执行写入操作 , 甚至当程序正常执行完文件写操作后 , 由于没有关闭文件操作 , 该文件可能会没有包含已写入的数据 。为安全起见 , 在使用完文件后需要关闭文件 , 建议读者使用try-except-finally异常捕获语句 , 并在finally子句中关闭文件 。
try: #文件操作except :#异常处理finally: file.close()
其他方法包括:- file.flush():刷新文件内部缓冲
- file.next():返回文件下一行
- file.seek(offset[, whence]):设置文件当前位置
- file.tell():返回文件当前位置
- file.truncate([size]):截取文件 , 截取的字节通过size指定
推荐阅读
- U盘传输文件时出现0X800701B1错误代码指定路径不存在的解决方法
- 我来教你DirectX修复工具文件修复失败处理办法 我来教你叠衣服美篇
- 小编分享directx修复工具修复丢失文件的具体办法 职工代表
- 体验GoldWave文件合并功能,人人都能学会
- 手机互传文件可以更方便,用QQ扫码即可
- 我来分享Windows Server 2003用彩色显示NTFS压缩文件的操作教程 我来分享一下
- 我来分享Windows server 2003共享文件夹的操作教程 我来分享一个钓黄尾的配方吧
- Win10怎么将文档图片网页保存为PDF文件?
- 自定义创建PS工作区,怎么方便怎么来
- 分享在百度网盘中不是会员上传视频文件的方法介绍。