热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python的文件操作_Python文件操作

一、文件—永久保存数据我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,

一、文件—永久保存数据

我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用程序是无法直接操作硬件的,这就用到了操作系统。操作系统把复杂的硬件操作封装成简单的接口给用户/应用程序使用,其中文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,可以将自己的数据永久保存下来。

二、Python文件操作介绍

下面会从文件的读写,以及修改去介绍python如何操作文件,首先先介绍,python的文件操作语法。

f = open('文件路径',mode = 'r',encoding='utf-8')

f.close()

常用语法如上,首先需要填写要操作文件的路径,然后选择mode(模式),常用的模式有r(读),w(写),r+(读写),w+(写读),

a(追加写),还有b模式(bytes模式)的读写方法

1、读模式(r)

在读模式前需要自己创建一个文件,然后找到路径以及确认文件的编码方式才能成功读到文件内容。下面以创建的文本,文件操作1.txt为例,路径为H:\文件操作1.txt 。文本内容如下:

f = open('H:\文件操作1.txt',mode='r',encoding='gbk')

g=f.read()print(g)

f.close()

如上所示,我们选择r,读模式,编码格式因为我们操作系统是gbk,所以我们将encoding设置为gbk

运行结果:

上面介绍的g.read(),是文件读的方法,read是将文本的中的字符串一次性全部读到内存然后赋值给变量,那么大家有没想过,如果文本大小有几个G甚至十几个G,你一次性将内容加载到内存,那么你的电脑内存一下就爆了。所以我们通常采用领一种方式。readline()方式进行读写。

首先我们手动将上述文本的内容增加至三行。

f = open('H:\文件操作1.txt',mode='r',encoding='gbk')print(f.readline())

f.close()

#运行结果:恭喜成功读到文件内容1 f= open('H:\文件操作1.txt',mode='r',encoding='gbk')print(f.readline())print(f.readline())

f.close()

#运行结果 恭喜成功读到文件内容1 恭喜成功读到文件内容2 f= open('H:\文件操作1.txt',mode='r',encoding='gbk')print(f.readline())print(f.readline())print(f.readline())

f.close()

#运行结果 恭喜成功读到文件内容1 恭喜成功读到文件内容2 恭喜成功读到文件内容3

可以发现这样我们每次f.readline都只读取文本中的每行内容。另外前面讲过字符串是可以迭代的,也就是可以使用for循坏。而文本的实质就是存储的字符串,所以文件内容也是可以循坏迭代的,而每次循坏的元素就是每一行的内容:

f = open('H:\文件操作1.txt',mode='r',encoding='gbk')for line inf:    #line 对应f中每一行的内容print(line)

f.close()

#运行结果: 恭喜成功读到文件内容1 恭喜成功读到文件内容2 恭喜成功读到文件内容3

细心的同学可以发现打印结果之间都空了一行,是因为文本中每行结尾是有个‘\n’换行符的,print本身也有也有换行符,所以打印出来导致了以上结果。这样我们每次加载到内存的文本内容都是固定一行,就不用担心内存问题了。

read.lines

read.lines模式是将文本的每一行作为列表的元素以列表的形式读取出来:

f = open('H:\文件操作1.txt',mode='r',encoding='gbk')print(f.readlines())

f.close()

#运行结果: ['恭喜成功读到文件内容1\n', '恭喜成功读到文件内容2\n', '恭喜成功读到文件内容3\n', '\n']

大家可以发现每个元素的结尾都是\n,也验证了前面用readline()为什么会空格一行的原因

2、'W'读模式

w模式:文件不存在则创建,存在则先删除再创建,。什么意思呢,也就是说我们选择w模式打开文件时,如果文件不存在,那么系统则会按照你所输入的文件路径和文件名自动创建该文件,否则就先删除源文件再创建文件。

f = open('H:\文件操作2.txt',mode='w',encoding='utf-8')

f.write('创建文本成功')

f.close()

可以看到文本操作2本来是没有的,是通过w模式根据你输入的路径和文件名创建,f.write()则是添加你要写入文本的内容,内容只能是字符串。

现在文本操作2已经存在,我们运行以下程序会出现什么情况:

f = open('H:\文件操作2.txt',mode='w',encoding='utf-8')

f.write('创建文本又成功啦')

f.close()

运行结果:

可以看见用w模式创建文件时,如果原文件存在,则会先删除原文件然后创建同名文件,内容会重新写入。



推荐阅读
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 似乎有两种不同的方法可以将字符串转换为字节,如对typeerror的回答所示:str不支持缓冲区接口。这些方法中哪一种比较好或更适合用Python& ... [详细]
  • 代码如下:#coding:utf-8importosimportsysdefcut_and_paste_file(source,destination):”’sourc ... [详细]
  • python语言单行注释符_Pyhton 单行、多行注释符号使用方法及规范
    python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的。python注释也有自己的规范, ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 项目背景:在玩游戏《坎巴拉太空计划》过程中发现火箭升空的过程比较有意思,想通过程序实现表述其具体升空的过程功能:1.输入变量, ... [详细]
  • 前言无论使用哪种语言,我们都需要关注性能优化,提高执行效率。选择脚本语言需要持久的速度。在某种程度上,这句话说明了Python作为一种脚 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。 ... [详细]
  • 深刻理解 python中函数的参数 引用的传递方式
    函数的参数作为引用Python唯一支持的参数传递模式是共享传参(callbysharing)。共享传参指函数的各个形参获得实参中各个引用的副本。也就是 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有