文件的打开和关闭 | 学习笔记

简介: 快速学习 文件的打开和关闭

开发者学堂课程【Python入门 2020年版文件的打开和关闭】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10395


文件的打开和关闭


内容简介

一、什么是文件

二、打开文件

三、python 里使用 open 内置函数打开并操作一个文件


一、什么是文件?

例:

新建一个文件叫 xxx.txt,文件内容为今天天气好晴朗,写完来通过代码的形式把文件读出来。


二、打开文件

文件是有一个比较重要的概念,像我们平时写的代码,写出来的代码全部都运行在程序和运行里边,运行结束之后会变成灰色,等到运行完之后,所有的数据都会被清空。

1.名片管理系统

我们每写一个名字,写一个名片,就要把这个名字加入到里边,里边写一个加一个,就会出现一个问题:变量定义在会程序里面的,程序运行会加载到内存里面,当程序运行完了之后,内存就释放了,数据就会消失。

比如:加一大堆的人,下次再用的时候这些人就都没了,是内存的问题,程序结束内容就会清空。

2. 问题解决的方法

①在开发的时候把内容写到硬盘里面,不把它放在内存里面。硬盘可以保证数据永久存储。

3.硬盘里面是什么?

很多东西都是在硬盘里边的,比如说有很多代码,把电脑关机重启之后,这个数据依然都在。

在里面的变量和对象被销毁了,但是代码里的文字就是 py 这个文件里面的内容依然还在。代码里申请的对象和变量会被销毁,但是 py 里的文件依然在。


三、#python 里使用 open 内置函数打开并操作一个文件

image.png

1.#open 参数介绍

#file:用来指定打开的文件(不是文件的名字,而是文件的路径)

#mode:打开文件时的模式,默认是r表示只读。

#encoding:打开文件时的编码方式。

#open:函数会有一个返回值,打开文件的对象

file=Open('xxx.txt')

Print(type(file))

运行结果图:

image.png

#xxx.txt 写入时,使用的是 utf 8编码格式

#windows 操作系统里,,默认使用 gbk 编码格式打开文件

#解决方案:写入和读取使用相同的编码格式。

file=open('xxx.txt',encoding='utf8')

file=open('xxx.txt')

#print(type(file))

运行结果  /TextI0Wrapper/

print( file.read())     /读取文件内容的时候崩了,编码的错误,普通的文字会出现编码的错误,就只有一种情况,写的时候编码方式不一致。

读的时候用了一种编码,写的时候又用了另外一种方式。/

运行结果正常。

或者可以用 gbk 直接读。

file.close() #操作完文件以后,关闭文件

相关文章
Flutter 121: 图解简易 Slider 滑动条
0 基础学习 Flutter,第一百二十一步:简单学习 Slider 滑动条!
1837 0
Flutter 121: 图解简易 Slider 滑动条
|
4月前
|
存储 缓存 数据库
如何开发人事及OA管理系统的全局基础设置板块?(附架构图+流程图+代码参考)
在企业数字化转型中,人事管理系统(HRM)与办公自动化系统(OA)已成为核心工具。本文详解全局基础设置的三大核心模块:部门岗位基础表、工作日历和工作地点基础表,涵盖功能设计、业务流程、开发技巧与代码示例,助力企业优化系统架构,提升管理效率与扩展性。
|
机器学习/深度学习 人工智能 文字识别
AI加持的WPS来了:金山开源全球首个办公DL框架KSAI-Lite
自动生成 PPT,自动图片转文字 + 翻译,甚至自动辅助写文章…… 办公自动化的未来已来。
1058 0
AI加持的WPS来了:金山开源全球首个办公DL框架KSAI-Lite
|
JSON Java 数据格式
【小知识】Windows下ElasticSearch 安装与配置
【小知识】Windows下ElasticSearch 安装与配置
847 0
【小知识】Windows下ElasticSearch 安装与配置
|
存储 运维 供应链
运维成本降低 50%,丽迅物流是如何应对大规模容器镜像管理挑战的
通过本文,丽迅物流运维总负责人阳磊分享了关于基于 ACR EE 加速企业业务云原生化进程的实践经验。
运维成本降低 50%,丽迅物流是如何应对大规模容器镜像管理挑战的
|
开发框架 JavaScript 前端开发
ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作
ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作
665 0
ASP.NET Core MVC+Layui使用EF Core连接MySQL执行简单的CRUD操作
|
数据采集 搜索推荐 前端开发
VuePress 博客优化之开启 Algolia 全文搜索
由于 VuePress 的内置搜索只会为页面的标题、h2 、 h3 以及 tags 构建搜索索引。 如果你需要全文搜索,可则以使用 Algolia 搜索,本篇讲讲如何申请以及配置 Algolia 搜索。
970 0
VuePress 博客优化之开启 Algolia 全文搜索
|
Linux
Linux使用PAM锁定多次登陆失败的用户
Linux使用PAM锁定多次登陆失败的用户
392 0
|
人工智能 自动驾驶 大数据
华为计算战略揭晓:开放鲲鹏主板,推出开发套件,发布系列最强算力AI计算产品
华为在 HC 大会上发布的「全球最快 AI 训练集群」Atlas 900 引起了人们广泛关注。这仅仅是华为智能计算在全联接大会上新产品发布的开始,华为昨天推出的鲲鹏服务器主板、鲲鹏台式机主板,以及全球最强 AI 训练卡 Atlas 300、AI 训练服务器 Atlas 800 等产品,让我们再次见证了这家公司的研发实力。
916 0
华为计算战略揭晓:开放鲲鹏主板,推出开发套件,发布系列最强算力AI计算产品
Foo
|
监控 数据可视化 Linux
快!5分钟快速完成监控系统搭建之实践篇
监控告警系统是每一家企业都需要的系统。系统的监控运维告警可以帮助企业快速发现系统故障,定位故障和处理故障,对企业业务稳定性起到至关重要的作用。业务监控系统可以实时进行业务告警,进行业务趋势的分析和判断,对于数据化运营起到重要的帮助。
Foo
11153 0