当前课程知识点:计算思维与人工智能基础 >  第三部分:python基础 >  第七章:文件操作 >  7.2文件的写入

返回《计算思维与人工智能基础》慕课在线视频课程列表

7.2文件的写入在线视频

下一节:7.3CSV模块的应用

返回《计算思维与人工智能基础》慕课在线视频列表

7.2文件的写入课程教案、知识点、字幕

文件的写入

Python中提供两个函数来实现文件的写入操作

通过write和writelines

那么write只能写入一个字符串

我们看右边这段代码

打开一个文件

然后通过write这个函数呢写入一个字符串

就是这样很简单的一个过程

writelines呢是将一个列表写入一个文件

那么这里列表里面的元素全为字符串

那么这个字符串是直接拼接而不换行的

看右边这段代码

那么也是打开文件

我们初始化了一个列表

那么可以通过writelines把这个列表写入到

我们打开的这个文件中

那么写入的时候我们要看一下的话

写入以后指针就到了文件的尾部

通过f.seek函数呢

就是相当于重定位文件

那么括号里面的就是我们文件指定的位置

我们看f.seek(3)

就是把文件指定到3的这个位置

通过for...in的结构把我们这个字符串变量然后输出

是这样子的

那我们在jupyter下看一下这个代码的执行结果

我们来看一下write和writelines应用的几个例子

我们来看这个

我们通过with open的方式打开我们这个

date下的example1这个文件

打开的方式是读写的方式

那么W+其实是覆盖的一个方式

这个文件在呢

就是把原有的东西都把它覆盖掉

我们可以看我们这样子就把他了写进去

后面的\r 是我们换行

如果再往上追加写他是换行写的

我们这写进去

因为是读写方式打开的

所以是我们是可以读的

我们把指针通过f.seek指到最前面

那我们通过f.read的呢就可以看到

就读出来

我们可以把它输出就可以看到我们刚才写进去的文件

我们执行一下

那我们可以看到他就应该写了一句

我们刚才我在宁大上学的这个字符串

好了下面我们可以看

我们与追加的方式来去写的话

我们追加的方式就在原来的这个

字符串后面再追加

打开这个文件追加的方式写我们写的时候呢

他是换行

我们应该是在第二行写

同样我们写完了以后也要看一下呢

可以通过把seek指针指到0

然后再把他读出

输出我们可以看一下

这个就是

一样的我们可以再追加

那么这个追加了以后没有斜杠

r 就不换行了

所以我们在追一个

这再追加一个

我们来看一下再追加一个

他就直接是在后面跟着的啊

只要换行不换行是这样去追加的

我们再看一下这个writelines的使用

那么这个就是writelines我们把这个列表

列表里面有三个元素

然后通过writelines呢

把它写到我们这个打开的这个文件

也是读写的方式来打开

那么这个W是覆盖掉

一样呢写完了以后呢

他这指针就指到5步

我们要去输出的时候呢

我们要看他的时候

我们可以把指针指到某一个位置上

指到第三个位置上

然后呢

我们把这个字符串通过for...in的结构输出

输出我们一样也看一下结果

我们看他如果是一个字符串的话

他就应该是0123

那么就从b开始输出后面的这个串

我们运行一下看

他就按这样的结果输出的

那当然了我们刚才这个呢也是可以什么呀

要追加的

如果我们把它改变一下这个结果

我们再追加一个是追加的方式

我们再运行一下

可以看的到结果

虽然指到3后面他还有追加了这样子

如果我们不写这个读写的方式就只能追加不能读的

那我们只能追加

那前面这些都是没有问题的

我们来运行一下可以看

这个地方是出错了

那么在这个地方的话

你想输出的话

那么因为他是不能读的

所以就不能输出

这个就是

我们这个要注意的

他是不可读的

not readable

我们再来看一下下面这个

这个是我们也打开一个文件

通过writelines的话

他可以就是对我们CSV这种是有结构的一个纯文本文件

他也可以通过这样的方式

来进行读写的方式打开进行写

这个关于CSV的文件呢

我们后面会给大家介绍

在这个地方的话我们是可以看的到

这是通过writelines把它写进去

那么seek是我们把位置移到什么地方

那么还有一个通过tell呢是我们可以看到移到什么地方

我们当前这个是3这个位置就

0这个位置就应该给我们显示应该是0的位置

一样是把

这个是我们通过而writelines

向我们CSV这样的文件里面也可以写入

那我们可以看到这个位置是0

那你这个同样你这个位置是写到3的话

我们可以看到他展示的应该也是什么呀

3

我们可以再执行一次

因为它是覆盖写

所以他是不变的

输出的结果也是不一样的

这个就是我们文件的读写操作的时候需要注意的这个

只有写的时候模式的时候他只能写

那么加了有这个+呢

就是读写模式啊

他可以读

下面我们给大家介绍一下在文件读取的时候用到了一些函数

有split

splitlines

strip和replace

那么split是从空格分隔的文件中读入数据

我们来看右边这一段代码

我们是以读的方式打开了一个文本文件

那么给到什么呀

赋值给f

f.read后面跟split函数的时候呢

他就是按照我们空格把文件里面的字符串进行分割

分割成什么呀

一个一个的元素放到一个列表里面

是这样子

那么输出以后看到这样的结果

splitlines呢就是用换行来分隔我们文件里面的

这些字符串的是这样子

strip是我们去掉我们一个字符串的前面或后面指定的串

或者是空格是这样子

replace是一个替换的这样的一个函数

用后面的新的字符串替换前面的字符串

并且可以指定替换的次数

下面我们在jupyter下面看一下这几个函数的应用

下面我们通过看一下这个几段代码

来更好地理解一下我们前面讲过的这几个函数

我们来看

我们通过open呢把我们的个文本文件以只读的方式打开

读出并输出

而且我们看原来的文件是一个什么样子的

然后呢这一句是

我们前面讲过f.seek

那么seek是移动指针到零的位置

也就是我们文件的最前面

然后呢我们再用read后面加split这个函数

也把我们的读入到一个内容呢

再把它输出

我们看他的运行结果

那么这个就是我们原来文件的内容

我们读出来的

通过read函数读出来

那下面的read.split呢

他读出来的就是变成了一个什么呀

一个列表

那么通过空格把这个字符串分开

他们作为列表的每一个元素

再看下面这个跟上面的是相近的

只不过我们刚才用的是split

这次用的是什么呀

f.read().splitlines

那我们来看看这是文件不同了

那文件不同原来的文件是一个什么样的

运行一下可以看

原来的文件是这样子的

是有两行组成的

而他通过splitlines 呢也是输出的也是一个列表

那么他的元素的分割是通过换行符来进行分割

再看我们下面

另外一个strip使用

也是前面是读出展示

我们如果用strip这样子的这个函数呢

我们看他的输出结果会是什么样

那么原来前面是有空格

strip的函数使用的前后的空格就把他都去掉

如果我们这个看不出来的话

我们指定一个他的前面和后面如果都是指定字符串

可以看得更清楚些

我们看这段代码

前面也是输出

只不过我们这个地方是用的read要删除的是指定的串是什么呀

是0

我们前面的这个输出来的这个读出来这个文件是一段0

后面一段0

有空格

在这个地方呢

你可以看到空格是保留的

这有空格

你看这个地方还是有空格的

其他的呢0呢就被什么呀

前后都去掉

可以前面加一个lstrip

那么只能去ls

就是前面的

我们执行一下啊

你看看前面的去掉后面

那writestrip相当于去掉后面

同样的是这个文件都是example

我们这个就是这个输出的内容是这样

这是去了我们前面的

这是去了后面的

指定的字符串着去的

另外一个就是replace

那么replace我们读文件的后面可以带什么呀replace

replace这就是我们用新的字符串去替换旧的字符串

可以替换指定的次数

我们来执行看一下

前面也是这个号的前面就是我们原文件是这样子的

替换的时候要把宁大替换成211

这样子的话替换两个

如果我们把这个指定的替换的次数去掉以后

我们再运行一看

就是全部都替换

那缺省的时候全部替换

你要替换多少个呢

后面可以再选这个参数

这就是我们在读入文件的时候

会常用的几个函数

当然还有许多呢

大家可以自己再去学习使用

计算思维与人工智能基础课程列表:

第一部分:计算思维

-1.计算思维的提出

-2.计算思维的要素与应用

-3.培养计算思维

-4.智能时代的教师与教学

-章测试

第二部分:人工智能

-1.人工智能的发展

-2.人工智能的实现与机器学习

-3.人工智能产业

-章测试

第三部分:python基础

-第一章:python简介

--1.1python的介绍

--1.2.anaconda的安装

--章测试

-第二章:编码规范

--2.1 python编码规范

--2.2常量和变量

--章测试

-第三章:数据类型

--3.1数据类型概述

--3. 2.数据转换

--3.3数据类型区别

--章测试

-第四章:基本运算

--4.1.基本运算符

--4.2比较运算符

--4.3逻辑运算符

--4.4位运算符

--4.5成员运算符与身份运算符

--4.6运算符的优先级

--章测试

-第五章:程序控制结构

--5.1顺序结构

--5.2条件结构

--5.3循环结构

--5.4跳转结构

--5.5异常处理

--章测试

-第六章:函数、模块与面向对象

--6.1函数的定义与调用

--6.2面向对象

--6.3魔法函数的应用

--6.4模块与包

--章测试

-第七章:文件操作

--7.1文件的打开与读取

--7.2文件的写入

--7.3CSV模块的应用

--章测试

-第八章:python生态库

--8.1第三方库的安装

--8.2标准库-Os库与Sys库

--8.3.标准库-Time库

--8.4标准库-Random库

--8.5标准库-Turtle库

--8.6第三方库-词云库

--8.7第三方库-pyinstaller库

--8.8第三方库-numpy库(上)

--8.9第三方库-numpy库(下)

--8.10第三方库-pandas库

--8.11第三方库-matplotlib库

--章测试

-第九章:TensorFlow基础

--9.1TensorFlow简介

--9.2TensorFlow 2.0的改进

--9.3TensorFlow的数据应用

--9.4 TensorFlow的设备应用

--9.5.TensorFlow中常用操作

--章测试

-第十章:实例分析与实践

--10.1认识回归问题

--10.2房价的预测

--10.3手写数字识别

--10.4卷积神经网络的介绍

--10.5全连接网络的搭建

--10.6卷积神经网络的实现服饰图片的分类

--10.7LeNet的介绍

--章测试

-第十一章:人工智能在自然语言中的应用

--11.1自然语言处理

--11.2命名实体识别技术

--11.3词向量表示

--11.4自然语言处理的挑战及应用

--章测试

7.2文件的写入笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。