脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python 文件操作方法总结

Python 文件操作方法总结

2023-01-13 13:31wx5ad774e6965c3 Python

这篇文章主要介绍了Python 文件操作方法总结,文章基于python的基础展开Python 文件操作方法,具有一定的参考价值,需要的小伙伴可以参考一下

文件处理流程

  • 1.打开文件,得到文件句柄并赋值给一个变量
  • 2.通过句柄对文件进行操作
  • 3.关闭文件

 r模式,默认模式,文件不存在则报错

w模式,文件不存在则创建,文件存在则覆盖

a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写日志文件的时候常用),追加模式是一种特殊的写模式

b(rb,wb,ab)模式:不用加encoding:utf-8

基本操作

打开文件

?
1
open(path, flag[, encoding][, errors])
  • path:要打开文件的路径
  • flag:打开文件的方式
  • r 以只读的方式打开文件,文件的描述符放在文件的开头
  • rb 以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头
  • r+ 打开一个文件用于读写,文件的描述符放在文件的开头
  • w 打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
  • wb 打开一个文件只用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
  • w+ 打开一个文件用于读写,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
  • a 打开一个文件用于追加,如果文件存在,文件描述符将会放在文件末尾
  • a+
  • encoding:编码格式
  • errors:错误处理
?
1
2
3
path = r"C:\Users\Desktop\file1.txt"
#ignore 忽略错误
f = open(path, "r",encoding="gbk")

打开文件的模式有:

  • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
  • w,只写模式【不可读;不存在则创建;存在则清空内容】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读;   不存在则创建;存在则只追加内容】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】
  • w+,写读【可读,可写】
  • x+ ,写读【可读,可写】
  • a+, 写读【可读,可写】

 "b"表示以字节的方式操作

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

 读文件内容

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 1、读取文件全部内容
str1 = f.read()
print(str1)
# 2、读取指定字符数
str2 = f.read(10)
print("*"+str2+"*")
str3 = f.read(10)
print("*"+str3+"*")
# 3、读取整行,包括"\n"字符
str4 = f.readline()
print(str4)
str5 = f.readline()
print(str5)
# 4、读取指定字符数
str6 = f.readline(10)
print(str6)
# 5、读取所有行并返回列表
list7 = f.readlines()
print(list7)
# 6、若给定的数字大于0,返回实际size字节的行数
list8 = f.readlines(20)
print(list8)
# 7、修改描述符的位置
f.seek(10)
str9 = f.read()
print(str9)

关闭文件

f.close()

?
1
2
3
4
5
6
7
# 一个完整的过程
try:
f1 = open(path,"r", encoding="gbk")
print(f1.read())
finally:
if f1:
f1.close()
?
1
2
with open(path,"r",encoding="gbk") as f2:
print(f2.read())

写文件

?
1
2
3
4
5
6
7
8
9
10
11
path = r"C:\Users\Desktop\file4.txt"
f = open(path,"w")
# 1、将信息写入缓冲区
f.write("lee is a good man")
# 2、刷新缓冲区
# 直接把内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入
f.flush()
f.write("lee is a good man\n")
f.close()
with open(path,"a") as f:
f.write("good man")
?
1
2
3
4
5
6
with open('a.txt','w') as f:
  pass
 
with open('a.txt','r') as read_f,open('b.txt','w') as write_f:
  data=read_f.read()
  write_f.write(data)
?
1
2
3
4
5
6
7
8
9
10
11
path = r"C:\Users\yanji\Desktop\day7\test1"
with open(path,"wb") as f3:
str = "lee is a good man"
f3.write(str.encode("utf-8"))
with open(path,"rb") as f2:
data = f2.read()
print(data)
print(type(data))
newDate = data.decode("utf-8")
print(newDate)
print(type(newDate))

到此这篇关于Python 文件操作方法总结的文章就介绍到这了,更多相关Python 文件操作内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.51cto.com/u_13710166/5288411

延伸 · 阅读

精彩推荐
  • Pythonpython微信跳一跳游戏辅助代码解析

    python微信跳一跳游戏辅助代码解析

    本篇文章给大家详细讲解了用python写的一个微信跳一跳辅助脚本的源码,对此有兴趣的朋友参考下吧。...

    乌托邦眺望4612021-01-10
  • PythonPython多继承原理与用法示例

    Python多继承原理与用法示例

    这篇文章主要介绍了Python多继承原理与用法,简单描述了Python多继承的相关概念、原理并结合实例形式分析了Python多继承的具体定义、使用方法及相关操作注...

    Vito.K7032021-03-29
  • Pythonpython Tkinter的图片刷新实例

    python Tkinter的图片刷新实例

    今天小编就为大家分享一篇python Tkinter的图片刷新实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    alansss10492021-07-12
  • PythonPython实现的KMeans聚类算法实例分析

    Python实现的KMeans聚类算法实例分析

    这篇文章主要介绍了Python实现的KMeans聚类算法,结合实例形式较为详细的分析了KMeans聚类算法概念、原理、定义及使用相关操作技巧,需要的朋友可以参考下...

    njulpy4762021-05-09
  • PythonPython使用bs4获取58同城城市分类的方法

    Python使用bs4获取58同城城市分类的方法

    这篇文章主要介绍了Python使用bs4获取58同城城市分类的方法,涉及Python使用BeautifulSoup库解析html页面的技巧,需要的朋友可以参考下...

    小刚14032020-07-20
  • Python对python当中不在本路径的py文件的引用详解

    对python当中不在本路径的py文件的引用详解

    今天小编就为大家分享一篇对python当中不在本路径的py文件的引用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    mdjxy6310982021-04-30
  • Python用Python将动态GIF图片倒放播放的方法

    用Python将动态GIF图片倒放播放的方法

    GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现。这篇文章主要介绍了用Pyt...

    脚本之家2722020-09-11
  • PythonPython是编译运行的验证方法

    Python是编译运行的验证方法

    这篇文章主要介绍了Python是编译运行的验证方法,本文讲解了一个小方法来验证Python是编译运行还是解释运行,需要的朋友可以参考下 ...

    脚本之家4252020-05-21