Python中的文件处理

读文件

步骤:1.打开文件;2.读取文件内容;3.关闭文件

打开文件

格式为:open(path, flags[, encoding][,errors] ),path: 要打开文件的路径,
flags:文件的打开方式。
文件的打开方式主要有以下的几种:
‘r’ 以只读的方式打开文件,文件的描述符放在文件的开头。
‘rb’ 以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头。
‘r+’ 打开一个文件用于读写,文件的描述符放在文件的开头。
‘w’ 打开一个文件只用于写入,若该文件已经存在则覆盖,若不存在则创建一个新的文件。
‘wb’ 打开一个文件只用于写入二进制,若该文件已存在则覆盖,若不存在则创建新文件。
‘w+’ 打开一个文件用于读写。
‘a’ 打开一个文件用于追加,若文件存在,文件描述符将会被放到文件的末尾。
‘a+’ 打开一个文件用于读写,若文件存在,文件描述符将会被放到文件的末尾。
encoding: 编码方式,常用的是utf-8和gbk
errors: 错误处理
举例说明:

path = r"E:\xxxx\xxxx\Python\Python入门\xxx.txt"
# ignore 忽略错误
# f = open(path,"r",encoding="utf-8",errors="ignore")
f = open(path,"r",encoding="utf-8")

读取文件内容

1.读取文件的全部内容

str1 = f.read()
print(str1)

2.读取指定的字符数

str2 = f.read(10)
print(str2)
str3 = f.readline(10)
print(str3)

3.读取整行,包括”\n”字符

str4 = f.readline()
print(str4)

4.读取所有行,并返回一个列表

list1 = f.readlines()
print(list1)

5.若给定的数字大于0,返回实际size字节的行数

list2 = f.readlines(20)
print(list2)

关闭文件

f.close()

读文件的完整过程

1.使用try和finally的方式:

try:
    f1 = open(path, "r", encoding="utf-8")
    print(f1.read())
finally:
    if f1:
        f1.close()

2.最为简便的读文件方式:

with open(path, "r", encoding="utf-8") as f2:
    print(f2.read())

写文件

# 设置写入文件的路径:
path = r"E:\xxx\xxxx\Python\Python入门\写文件.txt"
f = open(path, "w", encoding="utf-8")

# 1.将信息写入缓冲区
f.write("Python是一种解释型的语言,在开发过程中没有了编译这个环节,类似于PHP和Perl语言。")

# 2.刷新缓冲区
# 直接将内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入
f.flush()

# 关闭文件
f.close()

一种简便的写文件方式

with open(path, "a", encoding="utf-8") as f3:
    f3.write("\nPython是一种交互式的语言,可以在一个Python提示符中,直接互动执行程序。")

输出结果为:

Python是一种解释型的语言,在开发过程中没有了编译这个环节,类似于PHP和Perl语言。
Python是一种交互式的语言,可以在一个Python提示符中,直接互动执行程序。

二进制文件的编码和解码

# 设置文件路径
path = r"E:\xxx\xxx\Python\Python入门\\编码.txt"

# 编码
with open(path, "wb") as f4:
    str2 = "Python是一种解释型、面向对象、动态数据类型的高级程序设计语言"
    f4.write(str2.encode("utf-8"))

# 解码
with open(path, "rb") as f5:
    data = f5.read().decode("utf-8")
    print(data)

猜你喜欢

转载自blog.csdn.net/xiao_pingping/article/details/81869042
今日推荐