文件读取
Posted henji1266
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件读取相关的知识,希望对你有一定的参考价值。
一、文件操作模式
文本文件:
--读取:open(filename, ‘r‘, encoding = ‘utf-8‘),只可读取文件,文件不存在时报错。
--写入:open(filename, ‘w‘, encoding = ‘utf-8‘),只可写入文件,文件不存在时在当前文件目录创建一个新文件,文件存在时会将原文件清空,然后写入。
--追加:open(filename, ‘a‘, encoding = ‘utf-8‘),只可写入文件,文件不存在时在当前文件目录创建一个新文件,文件存在时会在文末追加内容。
--读&写:open(filename, ‘r+‘, encoding = ‘utf-8‘),读文件、写文件都支持,文件不存在时报错。
--写&读:open(filename, ‘w+‘, encoding = ‘utf-8‘),写文件、读文件都支持。
--追加&读:open(filename, ‘a+‘, encoding = ‘utf-8‘),追加文件、读文件都支持。
二进制文件:除了字符、数字、文本外其他都是二进制文件,如word、ppt, mp3, 视频等,二进制文件一般用来下载并保存,先打开要下载的文件,还是用while True的方式每次,读取固定【字节】长度的内容,再内部打开要保存的文件,然后写入。
--读取:rb
--写入:wb
--追加:ab
二、打开文件
--方式1:file_obj = open(filename, 【操作模式】,【编码格式(默认为None)】),注意:在文件操作结束后必须执行:file_obj.close()方法
--方式2:with open(filename, 【操作模式】,【编码格式(默认为None)】) as file_obj,文件操作代码缩进到with语句内,此类方法不需要手动关闭文件。
三、读文件
--file_obj.read(【一次读取字符数量,默认-1,表示读取所有内容】),读取大文件时需要指定字符数量,用while True循环读取,读取结束会返回空的字符串
--file_obj.readline() 每次读取一行内容,可连续调用,在读取大文件内容时可使用
--file_obj.readlines() 读取所有行内容
四、写文件
--file_obj.write()(写的内容,必须是字符串形式),当mode = ‘w‘时会清空原来文件,然后写入;当mode = ‘a‘时会在原来文件文末追加内容。该方法可以分多次向文件中写入内容,且会返回一个写入的字符串的字符长度信息。备注:换行也算作一个字符。
五、seek()函数:移动光标到指定位置,file_obj.seek(数字)
六、tell()函数:返回当前光标的位置,file_obj.tell()
七、os.mkdir()在当前目录创建目录,os.rmdir(目录)删除制定目录, os.listdir(path= ‘.‘)查看制定目录结构,os.rename(‘旧名字/路径‘, ‘新名字/路径‘)文件重命名,os.remove(‘文件名/路径’)删除文件
以上是关于文件读取的主要内容,如果未能解决你的问题,请参考以下文章