掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱

这篇具有很好参考价值的文章主要介绍了掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

前言

我们应该都知道,我们日常使用的电脑和手机其实很多的操作对象都是文件,我们的键盘和屏幕也可以类似看成是文件,文件在我们的日常生活中起着非常大的作用,因为文件可以持久的存储数据。而作为学习 python 的我们来说,文件操作的学习也是必不可少的,那么今天我将为您提供实用的知识和技巧,让您能够轻松应对各种文件操作任务。让我们一同探索Python文件操作的魅力,开拓数据处理的新境界吧!🚗🚗
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

文件的基本操作

打开文件操作

open(name,mode)
  • name:指要打开的目标文件名的字符串(也可以是文件的具体路径)
  • mode:设置打开文件的模式(访问模式)

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
我们可以使用一个变量来接收 open 返回的文件对象,为后面的操作做准备。

这里打开文件操作没多少需要注意的,唯一需要注意的就是,当我们以读的形式打开文件的时候,此文件必须存在,否则就会报错。

f = open('test.txt','r')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

这里我们提前创建一个 test.txt 文件。

f = open('test.txt','r')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

关闭文件操作

当我们打开文件的时候,到最后要记住关闭这个文件,否则会一直占用着我们的资源。
文件对象.close() 关闭文件操作

f = open('test.txt','r')

f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

对文件进行操作

1)只读文件操作

进行读文件操作的时候,我们需要以 读 的形式打开文件。
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
我们先在 test.txt 文件中准备点数据,然后我们进行读文件操作。

read()

read(num) 当不传入num的时候,表示读取文件中的所有数据,如果传入num参数,表示读取num个字节的数据。

# 打开文件
f = open('test.txt','r')

# 进行文件操作
print(f.read())

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

带有num参数

# 打开文件
f = open('test.txt','r')

# 操作文件
print(f.read(7))

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
记住换行符也算一个字节

readlines()

readlines() 函数读取文件中的每一行,以列表的形式返回数据,每一行的数据是列表的每一个元素。

# 打开文件
f = open('test.txt','r')

# 进行文件操作
print(f.readlines())

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
这里为什么会出现 \n ,因为我们在向文件中输入信息的时候敲了回车键,回车键 \n 也被认为是一个字符。

readline()

readline() 函数每一次就只读取文件的一行,再次调用readline() 函数的时候,会继续从下一行开始读取。

# 打开文件
f = open('test.txt','r')

# 进行文件操作
print(f.readline())
print(f.readline())

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

seek()

seek() 函数用来移动文件指针。
文件对象.seek(偏移量,起始位置)

偏移量单位为字节

当起始位置:

  • 为0时,表示文件开头
  • 为1时,表示文件当前位置
  • 为2时,表示文件的末尾
# 打开文件
f = open('test.txt','r')

# 进行文件操作
f.seek(2,0)  # 从与文件开头处偏移量为两个字节的位置开始
print(f.readline())
print(f.readline())

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

2)只写文件操作

当进行写文件操作的时候,需要以 写 的模式打开文件。

# 打开文件
f = open('test.txt','w')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

当我们运行完这段代码的时候,我们发现 test.txt 文件里面的内容消失了。

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
这是因为,当我们以 写 的模式打开文件的时候,文件指针会回到文件开头处,并且写入会覆盖原有内容。

不仅如此,当我们以 写 的模式打开文件的时候,如果文件不存在,会自动创建该文件。

我们先将之前创建的 test.txt 文件给删除了,然后以 写 的形式打开 test.txt 文件。

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

# 打开文件
f = open('test.txt','w')

当我们运行这段代码的时候,我们会发现自动创建了 test.txt 文件。

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

向文件中写入数据
文件对象.write()

# 打开文件
f = open('test.txt','w')

# 写入数据
f.write('abcdef')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
后面的操作,原文件中默认数据为abcdef。

3)文件追加操作

使用文件追加操作的时候需要以 文件追加 的模式的打开文件,并且如果该文件不存在,也会自动创建一个文件。

# 打开文件
f = open('test.txt','a+')

# 操作文件
f.write('12345')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

读写、追加读写操作

当我们以 w+、r+ 的模式打开文件的时候,可以对文件进行读和写的操作,但是我们需要注意文件指针的位置。

1. r+ 模式打开文件
# 打开文件
f = open('test.txt','r+')

# 操作文件
print(f.read())
f.write('@@@@@')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

这里当我们写入数据的时候,为什么没有覆盖原数据呢?我们要注意文件指针的位置,当我们进行完读操作后,文件指针位于文件的末尾,然后写操作是从文件指针所在的位置开始写入的。

python 使用 r+ 模式打开文件具有以下特性:

  1. 读取和写入:r+模式可以同时进行读取和写入操作。它允许您在读取文件内容的同时,通过write()方法写入新的内容到文件中。这种模式非常适用于需要读取和修改文件内容的情况。

  2. 文件指针位置:在使用r+模式打开文件后,文件指针的初始位置将位于文件的开头。您可以使用seek()方法将文件指针移动到您需要读取或写入的位置。请注意,在进行写入操作时,新的内容将从文件指针的位置开始写入,可能会覆盖原有内容。

  3. 文件截断:r+模式不会自动截断文件。如果您在写入操作时,新的内容比原有内容更短,那么一部分原有内容可能仍然保留在文件中。因此,如果您希望完全覆盖文件并只保留新的内容,可以使用truncate()方法来截断文件,或者在打开文件时选择w模式。

  4. 文件不存在:如果使用r+模式打开的文件不存在,将会引发FileNotFoundError异常。因此,在使用r+模式打开文件之前,请确保文件已经存在或您有相应的错误处理机制。

这里我们针对第三种特性举一个例子:

test.txt 文件中含有数据abcdef。

# 打开文件
f = open('test.txt','r+')

# 操作文件
f.write('@@@@@')  
print(f.read())

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

当我们进行写入操作的时候,文件指针在文件开始处,写入数据从文件指针所在的位置开始写入,所以就会覆盖掉原有的五个长度的内容,文件指针也会随之移动,当进行读操作的时候也会从文件指针所在的位置开始读取。简单来说就是我们需要随时注意文件指针所在的位置。读写和追加操作都是从文件指针所在的位置开始的。

2. w+ 模式打开文件

test.txt 文件含有abcdef数据。

# 打开文件
f = open('test.txt','w+')

# 操作文件
print(f.read())
f.write('@@@@@')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

当我们使用 w+ 模式打开文件的时候,如果文件不存在,则创建文件,如果文件存在,则会先清空文件中原有的数据。

3. a+ 模式打开文件

当以 a+ 模式打开文件时,文件指针默认会在文件的末尾,所以我们直接打印数据的时候,什么都打印不出来,这需要我们配合着seek() 函数来使用。

# 打开文件
f = open('test.txt','a+')

# 操作文件
print(f.read())
f.write('@@@@@')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

将文件指针设置到文件开头

# 打开文件
f = open('test.txt','a+')

# 操作文件
f.seek(0)
print(f.read())
f.write('@@@@@')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

以二进制的形式打开文件并操作

以 rb、wb、ab、rb+、wb+、ab+的形式打开文件并操作,都是以二进制的形式展现和操作的,其他操作都是一样的。

以二进制的形式读

# 打开文件
f = open('test.txt','rb')

# 文件操作
print(f.read())

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
以二进制的形式写
我们再写入的时候需要使用 b' ' 来表示写入的是二进制。

# 打开文件
f = open('test.txt','wb')

# 文件操作
f.write(b'zhangsan')

# 关闭文件
f.close()

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
这里虽然我们看到的还是一样的,但其实它是以二进制的形式表现的。

备份文件操作

在生活中,我们也会经常遇到文件备份的操作,那么我将为大家来揭晓文件备份操作的原理。

通常系统会提示你输入要备份的文件的名称,然后会生成一个 原文件名[备份].后缀 的文件。

提示用户输入文件名,并生成一个有效的备份文件名

因为文件的后缀是由最后一个出现的 . 的以及 . 后面的字符串所组成的,所以我们需要找到最后一个出现的 . 的位置,并且根据 . 的位置是否为 0 来判断文件名的合法性。.txt 这种文件名就是不合法的。

old_name = input('请输入你要备份的文件的名称:')

index = old_name.rfind('.')  # 从后往前找,找到的第一个.的位置就是最后一个.的位置
if index > 0:  # 判断文件名的合法性
    postfix = old_name[index:]
    
new_name = old_name[:index] + '[备份]' + postfix  # 组合成新的备份文件名

将原文件中的数据拷贝到新文件中

因为原文件中数据可能较多,一次拷贝可能会出现问题,所以我们分多次拷贝,一次拷贝部分数据。

# 打开原文件,并创建备份文件
old_f = open(old_name,'r')
new_f = open(new_name,'w')

while True:
    con = old_f.read(1024)
    if len(con) == 0:  # 当读取的内容长度为0时,表明原文件内容已读取完
        break
    new_f.write(con)

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

文件和文件夹操作

在 python 中,文件和文件夹操作需要借助模块 os 里面的相关功能,所以我们需要导入 os 模块 import os

1.文件重命名

os.rename(原文件名,新文件名)
import os
os.rename('test.txt','test1.txt')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

2.删除文件

os.remove(文件名)
os.remove('test1.txt')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

3.创建文件夹

os.mkdir(文件夹名)
os.mkdir('aa')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

4.删除文件夹

os.rmdir(文件夹)
os.rmdir('aa')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

5.获取当前目录

os.getcwd()
print(os.getcwd())

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

6.改变默认目录

os.chdir(目录)

如果我们想要在文件夹 aa 下面再创建一个文件夹 bb 该怎么办呢?

os.mkdir('aa')
os.mkdir('bb')

这样可以吗?
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
显然不行,aa和bb属于同一级目录,这是因为默认目录是这个:
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
添加文件夹也是在这个默认目录下添加的,那么如果我们想要在aa文件夹下创建bb文件夹,就需要我们更改默认目录。

os.mkdir('aa')
os.chdir('aa')  # 更改默认目录为aa
os.mkdir('bb')

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言

7.获取目录列表

os.listdir(目录)

os.listdir(目录) 会以列表的形式返回该目录下的所有文件。

print(os.listdir('aa'))

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言
掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱,python,python,开发语言文章来源地址https://www.toymoban.com/news/detail-538574.html

到了这里,关于掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【汤4操作系统】深入掌握操作系统-文件管理篇

    数据项记录文件 数据项分为: 基本数据项:描述对象的某些属性,例如学生的年龄,姓名学号等 组合数据项:由若干个基本数据项组合而成 记录:一组相关数据项的集合,用于描述一个对象在某方面的属性 文件:文件是指由创建者所定义的、 具有文件名的一组 相关元素的

    2024年02月09日
    浏览(42)
  • 用 Python 打造 AIGC 的「操作系统」

    carefree0910/carefree-drawboard: 🎨 Infinite Drawboard in Python (github.com) https://github.com/carefree0910/carefree-drawboard 最近,AIGC 可谓是大火而特火,然而现在大家一般都在用 Gradio / Streamlit 写 demo,一方面无法作为企业级产品去服务客户,另一方面也感觉比较东一块西一块,很难形成“合力”

    2024年02月09日
    浏览(34)
  • 掌握C语言文件操作:从入门到精通的完整指南!

    ✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 文件 其实是指一组相关数据的有序集合。这个数据集有一个名称,叫做 文件名 。文件通常是 驻留在外部介质(如磁盘等)上的 ,在使用时才调入内存中来

    2024年02月19日
    浏览(54)
  • 掌握终端基础技巧:Linux下的文件和目录复制操作

    在Linux系统中,命令行终端是一个大而高效的工具,让使用者可以通过简单的命令完成各种任务。其中,文件和目录的复制操作是日常使用频率较高的一项操作。本文将介绍Linux下的文件和目录复制基础技巧,帮助您更好地掌握命令行终端的使用。 一、复制文件: 1.cp命令:

    2024年02月08日
    浏览(50)
  • 使用Python打造微信高效自动化操作教程

    在如今数字化时代,人们对于效率的追求越来越强烈,尤其是在工作和学习中。自动化操作成为了提高生产力的有效途径之一,而PyAutoGUI和Pyperclip作为Python中的两个强大库,为我们实现自动化操作提供了便利。本文将向大家介绍如何使用这两个库,并通过实际案例帮助读者轻

    2024年02月03日
    浏览(38)
  • 一文掌握python常用的tuple(元组)操作

    目录 1. 元组的创建 2. 访问元组元素 3. 切片操作 4. 合并元组 5. 复制元组 6. 内置函数与方法 7. 元组拆分 8. 星号表达式在元组中的应用 9. 遍历元组 10. 元组的嵌套 11. 元组与条件判断和逻辑运算 12. 常见应用场景 13. 元组与枚举(Enum) 14. 元组推导式 15. 元组与匿名函数(Lambd

    2024年03月09日
    浏览(46)
  • Python数据分析(四)-- 操作Excel文件

            在实际生产中,经常会用到excel来处理数据,虽然excel有强大的公式,但是很多工作也只能半自动化,配合Python使用可以自动化部分日常工作,大大提升工作效率。 openpyxl :只允许读取和写入.xlsx格式文件并进行增删改增查。 xlwings :允许读取和写入.xlsx和.xls两种

    2024年02月06日
    浏览(47)
  • 华为鸿蒙系统:揭开全新操作系统的神秘面纱

    在全球科技竞争日益激烈的背景下,我国科技巨头华为公司自主研发了一款全新的操作系统——鸿蒙。这款操作系统旨在为华为自家设备提供强大的性能、安全性和智能化特性,以满足用户不断增长的需求。为了帮助广大开发者充分挖掘鸿蒙系统的巨大潜力,华为发布了一本

    2024年02月04日
    浏览(41)
  • Pandas光速入门-一文掌握数据操作

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 Pandas是Python的一个强大的数据分析库,是基于NumPy开发的。可以支持从各种格式的文件中导入数据,比如CSV、EXCEL、JSON、SQL等,并提供了两种数据结构Series和DataFr

    2023年04月18日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包