IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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种模式

三:读取文件三大方法的区别

四:超大文件高效处理

思维导图:


?1.文件读写流程:

? ? ? ?

????????(1):第一步最简单的操作就是打开pycharm编译器创建一个项目如下图我已创建好。

????????

?????????(2):第二步在创建项目的文件下建立一个txt文件(以txt文件为例),保证读取文件时能正常读取,如下图。

? ? ? ?

????????(3):pycharm?操作txt文件步骤

? ? ? ? ? ? ? ? #获取需要打开文件的位置即路径+文件名。

? ? ? ? ? ? ? ? #通过**文件句柄**来对文件进行(读取,写入等操作)。

? ? ? ? ? ? ? ? #关闭文件。

? ? ? ?

????????(4):什么是文件句柄?

????????????????使用pycharm读取一个txt文件的时候,相当于把这个文件从硬盘上,读取到了内存中。我们如果想要操作这个文件,是不是先要获取这个文件对象?只有获取这个文件对象后,才能够真正的去操作这个文件,不管是读取文件中的内容,还是向文件中写入内容。
??????????这个“文件句柄”包含了文件的文件名、文件的字符集、文件的大小、文件在硬盘上的起始位置。

? ? ? ? (5):演示怎么读取文件

? ? ? ? ? ? ? ? @演示如下:

# 读取文件里的内容
file = open("D:\pythonProject\l.txt", 'r+', encoding='utf-8')  # 用open函数打开文件
date = file.read()  # 读取文件
print(date)

? ? ? ? ? ? ? ? @运行结果:

?2.函数open()中参数mode最常见的6种模式

? ? ? ? @1:

函数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

3.读取文件三大方法的区别

? ? ? ? &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:运行结果???????

?

4.超大文件高效处理

????????如果文件很大,都将会耗用很大的内存。同时,从硬盘读取文件内容到内存中,也会很慢。
??因此,有没有一种高效的方式?既让我们看到了文件中的内容,又不会占用内存呢?下面我们将进行说明。

? ? ? ? @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中元素。每循环一次,就相当于读取一行到内存中,并记住这一次读取到的位置。当进行下次迭代的时候,上一次读取到内存中的内容,就会被销毁了,当前内存中读取的就是第二行的内容。当进行第三次循环的时候,内存中第二行的内容也会被销毁,此时内存中只会保存第三行的内容,这样依次进行下去。直到最后一次循环,读取最后一行的内容,此时,内存中保留的也只是最后一行的内容。
??迭代器有一个特性:每次进行迭代的时候,就会记住当前读取的位置。当进行下一次迭代的时候,前面的内容会被销毁掉,在内存中只会保留当前循环得到的内容。


?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:47:30  更:2022-07-20 18:50:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:57:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码