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)
全部评论

相关推荐

01-14 10:23
已编辑
湖南师范大学 计调
太久没更新,前几天看到一条评论,说“牛客就是当年那群做题区毕业了开始找工作还收不住那股味”的群体。字里行间透着居高临下的评判,不是,他该不会以为自己很幽默?很犀利吧?作为在牛客混了不算短日子的用户,我感到的不只是被冒犯,更是一种深刻的悲哀——这种以“松弛感”为名,对另一种生存策略的轻蔑,颇有一种自己考不上大学早早出来混社会,嘲笑考上大学的人是书呆子,然后大言不惭地说:死读书有什么用,人脉和资源才是硬道理。我不知道说这个话的人,手头究竟握着多少真正管用的人脉与资源,也不知道他这么傲慢地说出“那股味”的时候,是站在哪一个巨人的肩膀上,才能如此“松弛从容”地俯视众生,还能品评出别人身上“没收住”的余...
淬月星辉:这种评论把正常的努力扭曲成卷😂,说白了就是自己不努力,看着身边努力的人一个个都事业有成了,自己的心里开始不平衡了,就发这种酸言酸语。牛客可以说是我用过那么多平台里社区氛围最好的论坛了,用了大半年了,基本上没见过有人吵架的,都是在互帮互助提建议,帮忙看简历的,帮忙选offer的,帮忙指点学习路线的,分享工作经验和趣事的,我觉得这才是互联网该有的样子。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务