python文件的读写

引言:

>最近在学习python的文件读取,学习完总结一下。paython对文件的操作不像java复杂,python没有很多流。所以操作非常简单

内容:

创建文件对象:open()函数用于创建文件对象,我们可以打开源码看看它的参数(如下图).很明显,第一个是文件名的路径,第二个是打开方式。基本语法就是open("文件路径","打开方式")

如果只是文件名,代表在当前目录下的文件。当然文件名可以录入全路径,比如:D:a.txt。为了减少“”的输入,可以使用原始字符串:r“d:.txt”。文件的打开方式有如下几种:

模式 描述
r 读 read 模式
w 写 write 模式。如果文件不存在则创建;如果文件存在,则重写新内容;
a 追加 append 模式。如果文件不存在则创建;如果文件存在,则在文件末尾追加内容
b 二进制 binary 模式(可与其他模式组合使用)
+ 读、写模式(可与其他模式组合使用)

(1)
文件的写入:文件的写入有两种方式。

1、基本方式:创建文件对象--->写入数据--->关闭文件对象

f = open("a.txt","w",encoding="utf-8") #encoding="utf-8"防止中文乱码
f.write("我爱python")
#f.writelines()  可以将列表的内容写入文件
f.close()

运行结果:

对文件执行完后一定要关闭文件。因为我文件操作的底层是:当我们写代码对文件进行写入时,执行时会先调用python解释器,然后解释器调用操作系统,操作系统再对我们的硬盘进行工作。如果我们不关闭,就会有很多的资源浪费。

2、with 语句(上下文管理器):with 关键字(上下文管理器)可以自动管理上下文资源,不论什么原因跳出 with 块,都能 确保文件正确的关闭,并且可以在代码块执行完毕后自动还原进入该代码块时的现场。所以当我们用with语句时,就可以不用用close()方法。

with open("b.txt","w",encoding="utf-8") as f:
    f.write("努力学习!")

运行结果:

(2)
文件的读:文件的读取一般使用以下三种方法

  1. read(size) 从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。 读取到文件末尾,会返回空字符串。
  2. readline() 读取一行内容作为结果返回。读取到文件末尾,会返回空字符串。
  3. readlines() 文本文件中,每一行作为一个字符串存入列表中,返回该列表

按行读取:


with open("c.txt","r",encoding="utf-8") as r:#encoding="utf-8"一定得写,否则会出现解码失败的问题
    while True:
        str = r.readline()
        if not str:
            break;
        else:
            print(str,end="")

运行结果:

(3)
二进制文件的操作:只要在文本文件操作的基础上,用二进制进行读写。方法都一样(下面列个读图片的例子)

with open("gaoyuanyuan.jpg","rb") as r:
    with open("copy.jpg","wb") as w:
        w.write(r.read())

运行结果:

结尾:
python的文件操作简单,易上手,有成就感。

原文地址:https://www.cnblogs.com/yangxiao-/p/12461654.html