| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> Python知识库 -> python数据库文件读写(超详解) -> 正文阅读 |
|
|
[Python知识库]python数据库文件读写(超详解) |
目录一:文件读写流程二:函数open()中参数mode最常见的6种模式三:读取文件三大方法的区别四:超大文件高效处理思维导图:
|
| ????????模式 | ????????可做操作 | ????????假设文件不存在 | ????????是否覆盖 |
|---|---|---|---|
| ????????r | ? ? ? ? 只能读不能写 | ? ? ? ????????报错 | ? ? ? ? ? ? ? - |
| ????????r+ | ? ? ? ? ? ?可读可写 | ? ? ? ? ? ? ? 报错 | ? ? ? ? ? ? ?是 |
| ? ? ? ? w | ? ? ? ? 只能写不能读 | ? ? ? ? ? ? ? 创建 | ? ? ? ? ? ? ?是 |
| ? ? ? ? w+ | ? ? ? ? 可读可写 | ??????????????创建 | ? ? ? ? ? ? ?是 |
| ? ? ? ? a | ? ? ? ??只能写不能读 | ? ? ? ? ? ? ? 创建 | ? ? 否,追加写 |
| ? ? ? ? a+ | ????????可读可写 | ? ? ? ? ? ? ? 创建 | ? ? 否,追加写 |
?????????
????????@2:模式1演示如下
# 读取文件里的内容
file = open("D:\pythonProject\l.txt", 'r', encoding='utf-8') # 用open函数打开文件
date = file.read() # 读取文件
print(date)
file.close()#关闭文件
# 写内容进文件里面
fil1 = open("D:\pythonProject\l.txt",'r',encoding='utf-8')
fil1.write("哈哈")
fil1.write("时间过的真的非常之快,所以我们要争取自己的时间,不能 浪费自己的时间")
fil1.close()
????????@3:运行如下:
??
? ? ? ? @4:模式4演示如下:
# 写内容进文件里面
fil1 = open("D:\pythonProject\l.txt",'w+', encoding='utf-8')
fil1.write("哈哈")
fil1.write("时间过的真的非常之快,所以我们要争取自己的时间,不能 浪费自己的时间")
fil1.seek(0)
print(fil1.read())
fil1.close()
? ? ? ? @5运行如下:
?
? ? ? ? ?@6:其他模式小伙伴们可以去尝试尝试嗷,不清楚的可以去群里讨论讨论,群号:837020885
? ? ? ? &1:read()方法,读取全部内容。
# 读取文件里的内容
file = open("D:\pythonProject\l.txt", 'r', encoding='utf-8') # 用open函数打开文件
date = file.read() # 读取文件
print(date)
file.close()#关闭文件
? ? ? ? &2:运行结果:
?
? ? ? ? &3:readline()方法,读取到第一个换行符,将第一个换行符之前的内容读取出来。
# 读取文件里的内容
file = open(r"D:\pythonProject\l.txt", 'r', encoding='utf-8') # 用open函数打开文件
# 读取文件
date = file.readline()
print(type(date))
print(date)
file.close()#关闭文件
? ? ? ? &4:运行结果???????
?
? ? ? ? ?&5:readlines()方法,一次性读取所有内容,返回的是整个内容列表。
# 读取文件里的内容
file = open(r"D:\pythonProject\l.txt", 'r', encoding='utf-8') # 用open函数打开文件
# 读取文件
date = file.readlines()
print(type(date))
print(date)
file.close()#关闭文件
? ? ? ? &6:运行结果???????
?
????????如果文件很大,都将会耗用很大的内存。同时,从硬盘读取文件内容到内存中,也会很慢。
??因此,有没有一种高效的方式?既让我们看到了文件中的内容,又不会占用内存呢?下面我们将进行说明。
? ? ? ? @1:操作演示
# 读取文件里的内容
file = open(r"D:\pythonProject\l.txt", 'r', encoding='utf-8') # 用open函数打开文件
# 读取文件
for line in file:
print(line)
file.close()#关闭文件
? ? ? ? @2:运行结果:???????
?
? ? ? ? 说明:?上述方式中,file相当于一个迭代器,我们使用for循环迭代f中元素。每循环一次,就相当于读取一行到内存中,并记住这一次读取到的位置。当进行下次迭代的时候,上一次读取到内存中的内容,就会被销毁了,当前内存中读取的就是第二行的内容。当进行第三次循环的时候,内存中第二行的内容也会被销毁,此时内存中只会保存第三行的内容,这样依次进行下去。直到最后一次循环,读取最后一行的内容,此时,内存中保留的也只是最后一行的内容。
??迭代器有一个特性:每次进行迭代的时候,就会记住当前读取的位置。当进行下一次迭代的时候,前面的内容会被销毁掉,在内存中只会保留当前循环得到的内容。
?
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/17 9:40:10- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |