Python从零开始系列连载(22)——Python文件操作(下)

文件写入

之前讲过了文件打开创建和关闭,我们接着来谈谈文件写入

之前我们说了使用open()加上文件的绝对路径或者相对路径可以打开文件

这里我们讲一个更简单的方法

我们导入os模块

os模块是和操作系统相关的模块

在Python中这样操作:

这段代码指出了当前的工作目录

我们在学习资料.txt中加入如下内容,并且保存

我们在Python中打开这个文件:

因为之前指出了当前目录,所以可以给出相对路径即可(学习资料.txt在当前的工作路径)

我们使用read()方法可以读取文本内容

我们还可以使用write()方法写入内容:

报错啦!这不科学啊!小明,你来解释一下!

小明:老湿,是不是你的文本保存了什么不健康的信息?

小明,你不要把自己的经历经验强加给别人!

小红:老师,上节课说过,默认的打开模式是 r  (只读),所以不能写入.

嗯,小红说的对,我们修改一下,首先关闭文档

此时我们打开该txt:

内容已经写进去了!

我们在Python中读出来:

如果再次读取呢?

发现读出来的内容为空!

解释一下,这里的read()方法相当于读取全部内容,如果读完内容,再次读取时候,书签已经在文章末尾,再次往后读当然没有内容啦~

如果我只想读取一行呢?

文本一共两行,如果读取完最后一行,再次读取和上面的read()一样,当然没内容啦~

如果我想读取多行呢?

小红:老师,可以使用循环!

很好,我们试试!

可是为什么只有第二句被读出来了呢?

因为while中的判断已经执行了一次readline()

而在print()中的readline()执行读出的是第二句

当然,我们可以换成for循环:

小明:老湿!如果你不知道有多少行呢?你这样指定读取两次算是作弊!

小明这个问题提的好!我们这里引进一个方便的方法:

readlines()方法将每行内容作为列表元素,返回的是一个列表

小明:这个看起来不舒服啊,老湿给改改呗!

小红:老师,我知道怎么改!

小红学得很好!

其实,这个还能改的更有派森特色!你们知道怎么改么?

【小明和小红均摇头

是时候展现真正的技术了!

小明:老湿,我看懂了!你用的列表生成式,可是为啥你要加个 g = ?

小明今天的问题提的都很好啊!如果不加,我们看看内容

会返回列表,而这个列表的元素是None,因为print( ) 函数作为列表的元素是没返回值的

小明:老湿,你说的这个不好理解啊

好的,我们举个栗子:

将print()赋值给 i

我们打印 i 发现是None

小明:哦哦哦哦哦~我懂了!

下课

有需要Python学习资料的小伙伴吗?小编整理【一套Python资料、源码和PDF】,感兴趣者可以加学习群:548377875,反正闲着也是闲着呢,不如学点东西啦~~

人生苦短,我选Python

未完待续,连载中.....

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/82793550