&nbsp

&nbsp

&nbsp

&nbsp

&nbsp

&nbsp

&nbsp

预备知识 Python 入门

学习处理文件和保存数据可让你的程序使用起来更容易:用户将能够选择输入什么样的数据,以及在什么时候输入; 用户使用你的程序做一些工作后,可将程序关闭,以后再接着往下做.

Python 文件读写的方法

open() 方法

Python open() 方法用于打开一个文件,并返回文件对象(file object),在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出错误.

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode).file 必需,是文件路径(相对或者绝对路径);mode 可选,代表文件打开模式.打开模式有多种方式.

表1:打开模式

r以只读方式打开文件

w打开一个文件只用于写入.如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除.如果该文件不存在,创建新文件.

b二进制模式

+打开一个文件进行更新(可读可写)

a打开一个文件用于追加.如果该文件已存在,新的内容将会被写入到已有内容之后; 如果该文件不存在,创建新文件进行写入

上述方式组合使用

使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法.例如计算机上有一个文件名为 file.txt 的文件,内容如图 1 所示,需要读取并输出.代码如下

图 1:file 文件内容

open 方法前面我们添加了一个 r,表示原生字符串,否则 \ 会对字符串进行转义处理.当然也可以不加 r,而使用两个 \,效果一样.我们在程序 2-4 行分别使用了文件的三种其他方法:

file.closed 返回 true 如果文件已被关闭,否则返回 false.

file.mode 返回被打开文件的访问模式.

file.name 返回文件的名称.

write() 方法

write() 方法可将任何字符串写入一个打开的文件.需要重点注意的是,Python 字符串可以是二进制数据,而不是仅仅是文字.write() 方法不会在字符串的结尾添加换行符 \n.语法如下:

readline() 方法

readline() 会从文件中读取单独的一行.换行符为 '\n'.readline() 如果返回一个空字符串,说明已经已经读取到最后一行.

readlines() 方法

readlines() 将以列表的形式返回该文件中包含的所有行,列表中的一项表示文件的一行.如果设置可选参数 sizehint,则读取指定长度的字节,并且将这些字节按行分割.

上面介绍的文件读写方法虽然没问题,但是一般情况下我们不使用,而是使用 with 方法.从而避免忘记关闭文件导致的不可预料的结果.

从文件中读取数据

读取整个文件

下面的程序打开并读取这个文件,再将其内容显示到屏幕上:with 在不再需要访问文件后将其关闭.在这个程序中,注意到我们调用了 open(),但没有调用 close(); 你也可以调用 open() 和 close() 来打开和关闭文件,但这样做时,如果程序存在错误,导致 close() 语句未执行,文件将不会关闭.这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损.如果在程序中过早地调用 close(),你会发现需要使用文件时它已关闭,无法访问,这会导致更多的错误.并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用前面所示的结构,可让 Python 去确定:你只管打开文件,并在需要时使用它,Python 自会在合适的时候自动将其关闭.

逐行读取

读取文件时,常常需要检查其中的每一行:你可能要在文件中查找特定的信息,或者要以某种方式修改文件中的文本.

利用 with 来对文件的操作与上一节类似,这里不再赘述.

数据存储

很多程序都要求用户输入某种信息.不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中. 用户关闭程序时,你几乎总是要保存他们提供的信息; 一种简单的方式是使用模块 json 来存储数据.

模块 json 让你能够将简单的 Python 数据结构转储到文件中,并在程序再次运行时加载该文件中的数据.你还可以使用 json 在 Python 程序之间分享数据.更重要的是,json 数据格式并非 Python 专用的,这让你能够将以 json 格式存储的数据与使用其他编程语言的人分享.这是一种轻便格式,很有用,也易于学习.

使用 json.dump() 和 json.load()

我们来编写一个存储一组数字的简短程序,再编写一个将这些数字读取到内存中的程序.第一个程序将使用 json.dump() 来存储这组数字,而第二个程序将使

用 json.load().

函数 json.dump() 接受两个实参:要存储的数据以及可用于存储数据的文件对象.下面演示了如何使用 json.dump() 来存储数字列表.json,再创建一个数字列表.在第三行处,我们指定了要将该数字列表存储到其中的文件的名称.通常使用文件扩展名 .json 来指出文件存储的数据为 json 格式.接下来,我们以写入模式打开这个文件,让 json 能够将数据写入其中.在第五行处,我们使用函数 json.dump() 将数字列表存储到文件 numbers.json 中.

下面再编写一个程序,使用 json.load() 将这个列表读取到内存中:

致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择会员制,大量广告,内容付费等,甚至被收购。 因此,我们请求广大读者热心打赏,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损状态, 并保证网站能在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获得知识, 我们在此表示感谢。

load()是python文件操作的函数_Python 文件读写相关推荐

  1. python创建文件对象的函数_Python 文件对象常用内建方法

    学习python教程文件操作时,除了 文件对象读取内容 file.read(size):size为读字节的长度,默认为-1. file.readline(size):逐行读取,如果定义了size参数, ...

  2. 简述python文件操作的流程_Python文件操作详解

    这篇文章主要介绍了Python 文件操作的详解及实例的相关资料,希望通过本文大家能够理解掌握Python 文件操作的知识,需要的朋友可以参考下 Python 文件操作的详解及实例 一.文件操作 1.对 ...

  3. load()是python文件操作的函数_python基础总结(函数,文件操作)

    divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base]])#将一个字符转换为int类型,base表示进制 l ...

  4. load()是python文件操作的函数_python深入(函数,文件操作)

    一.内建函数 1.数学运算类 abs(x)#求绝对值 divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base] ...

  5. python文件操作的方法_Python文件常用操作方法

    Python文件常用操作方法 一.对File对象常用操作方法: file= open(file, mode='r', buffering=-1, encoding=None, errors=None, ...

  6. python对文件操作的相关函数_python文件操作的相关函数深入理解Django中内置的用户认证...

    前言 本文主要给大家介绍了关于Django中内置用户认证的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 认证登陆 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查 ...

  7. python文件操作的方法_python文件操作的方法介绍

    文件操作 1.open()函数 open()函数主要用于文件处理,一般分为下面3个过程:1.打开文件 2.操作文件 3.关闭文件 常见的格式示例:f = open('note.txt','r') f. ...

  8. python io操作有什么_Python文件IO操作

    文件IO常用操作: open打开read读取 write写入 close关闭 readline行读取 readlines多行读取 seek文件指针操作 tell指针位置 打开操作: open(file ...

  9. 【C 语言】文件操作 ( remove 函数删除文件 | rename 函数重命名文件 | 代码示例 )

    文章目录 一.remove 函数删除文件 二.rename 函数重命名文件 一.remove 函数删除文件 remove 函数原型 : 删除指定的文件 ; #include <stdio.h&g ...

最新文章

  1. ue4 开发动作游戏_两年时间独自用UE4制作的动作游戏,传说一般的制作人离忧先生...
  2. 使用动态解析设置***
  3. Android动态加载技术初探
  4. 图灵奖获得者、信息安全常青树Adi Shamir:从密码学到AI对抗性样本研究|智源大会嘉宾风采...
  5. 【C语言】C语言随机数生成教程,C语言rand和srand用法详解
  6. CCIE基础知识之EIGRP 二
  7. 对网易云音乐软件的看法
  8. html倒计时样式,简单实现JS倒计时效果
  9. 简述Handler机制原理
  10. PHP调用拼多多接口以及配置签名
  11. 海贝音频384khz_海贝音乐app下载-海贝音乐手机版下载v3.3.0 - 星光下载
  12. VB打造QQ批量登陆器
  13. 刷题时遇到的经典解法(实时更新)
  14. linux系统显卡显存容量,Linux下检查显存大小
  15. AC Dream1069
  16. 王者荣耀服务器维护9月27,王者荣耀9月27日更新维护公告 修复夏洛特技能bug等...
  17. MIME类型是什么?包含哪些类型?
  18. 2020-08-14 理解 javascript 函数中的 curry
  19. webpack原理篇(六十二):实战开发一个自动合成雪碧图的loader
  20. 在线制作"篆体印章",很酷!

热门文章

  1. Google排名内部优化攻略
  2. 空余时间在家做娱乐搞笑短视频,一部手机就行,稳定每天200多
  3. VS2013链接MYSQL数据库
  4. Three.js初体验——VR全景展示
  5. Linux下ll 命令显示的文件类型
  6. 家用什么牌子的投影仪好?投影仪买哪个好
  7. 合肥一学生高考“牛文”曝光 2009安徽高考作文《弯道超越》
  8. PVE虚拟服务器配置,虚拟化环境搭建Proxmox Virtual Environment(PVE)系统安装部署图文教程说明...
  9. 在字节跳动工作是怎样的?
  10. quartz配置动态任务,从数据库读取相应的类及方法,执行任务(任务添加、修改、暂停、恢复)