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高阶之对文件的操作

Python高阶之对文件的操作

在这里插入图片描述

随着社会的发展,人们日常的工作量越来大处理的数据也越来越复杂。以前基本面对的都是结构化数据,但随着互联网的兴起,数据已经主要以半结构化和非结构化趋势过度。有新的需求就会推动科技的发展,python在处理文件就显得优势突显出来,python中有非常多的库来支持文件的操作,为办公自动化贡献了自己的一份力量。

1. 常见的文件类型

  • 目前我吗常见的文件类型有如下几种:

  • 纯文本文件,对于这一种文件指文件内容只能是字符,不能出现图片在里面。

  • pdf文件,PDF是Portable Document Format的简称,意为“可携带文档格式”,是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。有效的解决在不同操作系统中乱码问题。

  • word文件

  • excel文件,主要用来保存数据

  • csv文件,一种以默认以逗号隔开的分隔值文件

  • json文件,用于网路数据交换

  • 各种照片文件

  • 各种视频文件

  • 二进制文件,用的比较少

2. 读文件操作

文件读取步骤:打开(open)----> 读(read)----关闭释放资源(close)

  • 查看系统默认编码方式
import sys
print(sys.getdefaultencoding()) # utf-8

一般电脑默认以utf-8编码,不过也有以gbk编码,编码对于文件的读取很重要,当读取的文件编码不一致就会产生乱码。

  • 文件读取底层原理
    文件读取时通过指针难过的移动来进行,通过这一原理就可以计算出每个文件的的大小。

    # 打开一个文件默认方式就是读取,指定读的编码方式
    file = open('resources/致橡树.txt','r',encoding='utf-8') 
    file.seek(0,2) # 将指针移动到末尾
    print(file.tell())  # 查看文件指针移动字节数。间接的查看文件大小,得到多少个字节。
    file.close
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JTSYWPRh-1628524626909)(C:\Users\Administrator\Desktop\Python笔记\图片\指针移动读取文件.png)]

当文件不存在时,会发生FileNotFoundError: [Errno 2] No such file or directory:…,导致程序之间崩溃不在往下执行,这时候我们最后关闭文件的file.close语句就无法执行,如果加上文件又特大的情况下就浪费的电脑的内存毕竟电脑的内存是有限的。

  • 解决方式一,使用try except finally结构
file = open('resources/致橡树.txt','r',encoding='utf-8') 
try:
    data = file.read(32)  # 如果是文本文件每次读取按字符读,二进制按字节读,utf-8按3个字节算一个字符
    while data:
        print(data, end='')
        data = file.read(32)
# except:
#     print('文件读写错误!')
finally:  # 总是执行,finally里面的代码块一定会执行到
    file.close()
    
  • 解决方式二,使用上下文语句,with open() as file:
with open('resources/小雨康桥的寺.txt', mode='r', encoding='utf-8') as file:
    reade = file.readline() # 按行读取每次只读取第一行
    print(reade)
  • model 详解
model对应功能
a对文件进行追加操作
r对文本文件进行读
rb对二进制文件进行读
w对文件进行写,会对以前的文件进行覆盖
wb写入二进制,会对已经存在的文件进行覆盖

3. 写文件操作

  • 在日常的文件操作中我们出了文件的读取操作,其中最为更重要的是写操作希望将数据进行持久化进行保存。
  • 写文件步骤,打开文件—>写文件 ————>关闭文件
file = open('resources/小雨康桥的寺.txt', mode='a', encoding='utf-8')
try:
    file.write('我做不成燕子\n')
    file.write('所以我飞不过感情的墙\n')
finally:
    file.close()

同样写文件操作也可以with open() as file 上下文语法

with open('resources/小雨康桥的寺.txt', mode='a', encoding='utf-8') as file:
    file.write('我做不成燕子\n')
    file.write('所以我飞不过感情的墙\n')

4.csv 文件的读取

  • csv逗号分隔值文件,是一种纯文本文件默认以‘,’进行分割也还可以使用其它分割符作为文件的分割。

  • csv读文件

with open('resources/小雨康桥的寺.txt', mode='r', encoding='utf-8') as file:
    reader = csv.reader(file)  # 生成一个可迭代对象
    for data in reader:
        print(''.join(data)) # 默认得到一个列表,用join方法拼接成一个字符串
  • csv 写文件
with open('resources/小雨康桥的寺.txt', mode='w', encoding='utf-8') as file:
    writer = csv.writer(file) # 创建一个写文件的对象
    # print(writer)
    writer.writerow(['我做不成燕子\n', '所以我飞不过感情的墙']) # 里面参数为可迭代对象可以是元组、列表

简单总结

通过学习文件的操作可以为我们日常的学习工作带来很大的遍历,日常产生的数据可以进行持久化保存以便后期的查看。python的对文件处理又先天的优势,对于小白也很能够上手。这样是大多数人选择python进行学习来提高处理日常工作的重要原有。

简单总结

通过学习文件的操作可以为我们日常的学习工作带来很大的遍历,日常产生的数据可以进行持久化保存以便后期的查看。python的对文件处理又先天的优势,对于小白也很能够上手。这样是大多数人选择python进行学习来提高处理日常工作的重要原有。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:22:40  更:2021-08-10 13:22:55 
 
开发: 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年5日历 -2024/5/17 13:51:57-

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