文件读取

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(‘文件名/路径’)删除文件

以上是关于文件读取的主要内容,如果未能解决你的问题,请参考以下文章

python读取ini配置文件+Scala读取配置文件

Pandas只提供了读取啥文件的函数?

gh读取csv文件

angular读取文件

C#怎样读取HTML文件

C语言如何读取文件?