专栏首页python3Python小白学习之文件内建函数

Python小白学习之文件内建函数

文件内建函数:

 2018-10-24 23:40:02

 简单介绍:

  1. open()打开文件
  2. read()读取文件(其实是输入文件里的内容到read函数,类似于get(url),所以下面的图片备注的是输入,当然对于初学者来说,读取更容易理解。)
  3. readline()输入一行
  4. seek()文件内移动
  5. close()关闭文件 (注意:当打开文件,或者读取文件后,一定不要忘记关闭文件)

变量名 = open("文件名",模式)   

open(filename,mode)  # 这里filename指的是文件名,mode是模式(只读用‘r’,写入用'w',读二进制图片'wb'),并且filename和mode的数据类型是字符串,所有文件名和模式别忘了加双引号

我们查看一下官方文档:

第一个参数是一个含有文件名的字符串。第二个参数也是一个字符串,含有描述如何使用该文件的几个字符。mode 为 'r' 时表示只是读取文件;'w' 表示只是写入文件(已经存在的同名文件将被删掉);'a' 表示打开文件进行追加,写入到文件中的任何数据将自动添加到末尾。 'r+' 表示打开文件进行读取和写入。mode 参数是可选的,默认为 'r'

要注意的地方有以下几点:

1、字符串加引号;

2、当mode(打开字符串的模式为'r')我们只能打开文档,却不能编辑修改文档,所以叫“只读”,用英文解释:only read;

3、当模式是‘w’时,我们可以把东西写入到文件中,但是注意一点,‘w’和‘a’的区别在于,'w'是创建一个新的文件,而‘a’是在已有的同名文件中添加内容;

4、当mode省去不写时,系统默认模式是只读模式‘r’,不能修改编辑文件里面的内容。

开始举个例子:

# 打开一个文件,模式为写入模式‘w’,并把open()函数赋值给一个变量,这样通过变量,我们就可以对文件进行操作。

1 file1 = open('123.txt','w') #以写入模式新建一个文件为123.txt的文件,如果当前程序目录里有这个文件,则删掉,重新新建这个文件
2 file1.write('我是测量小白')  #把内容添加到文件中123.txt,记住file1只是一个用来操作文件的变量,相当于一个代号,并不是文件123.txt
3 file1.close() #最后记住关闭文件,减少内存。

查看执行结果,挡开当前程序里的文档,因为我们没有具体指定文档路径,所以生成的文件自动保存和当前.py程序同一个目录下:

文件对象方法:read()函数用来读取文件内容

同样,我们用open打开刚刚生成的文件,这次,我们不指定读取模式,省去,默认为只读模式

上面截图犯了一个错误,忘记了关闭文件,下图补上。有点粗心大意了。如果不关闭,则写入的内容将寄存在内存中

接下来我们用模式‘a’追加内容

1 # 在旧文件中末尾追加新的内容 此时模式用‘a’
2 file3 = open('123.txt','a')
3 file3.write('听说python是是一门很火流行的语言,只想简单学习一下,跟上时代的潮流')
4 file3.close()

执行结果如下:

很明显看到,我们在旧文件里面添加了新的内容。

我是测量小白(<---旧内容) 
听说python是是一门很火流行的语言,只想简单学习一下,跟上时代的潮流(<----新内容)

下面我们试一下readline()函数,readline()函数是只读取一行字符串,当再调用readline()函数 一次,就在上次读取的基础上读取下一行。

我们新建一个新的文件,添加新的内容

 1 file4 = open('111.txt','w+') # 此处模式用表示有写入和读取权限。单用'w',没有读取权限
 2 #因为读取的内容是多行,多行我们可以用三引号''' ''',我们可以把要写入的内容赋值给一个新的变量,然后把变量写入。
 3 text = '''I like English,I practised it everyday ,so I believe 
 4 that it will be better and better.
 5 so do what you want to do ,just do it,
 6 make it.
 7 '''
 8 file4.write(text)
 9 file4.close()      #此处必须关闭,重新打开用readline读取,readline遇到换行符就停止读取。
10 file4 = open('111.txt')
11 print(file4.readline()) #读取并输出第一行
12 print('-------------------------------------')
13 print(file4.readline()) #读取并输出第二行
14 #readline(size) size位数字,表示读取size个字符,光标移动到size个字符后,即do后面
15 print(file4.readline(5),"\n",len(file4.readline(5)))
16 a = file4.readlines() #将光标处剩下读取的每行以列表形式输出。
17 print(a)

打开文件111.txt

输出结果

最后,若有问题,请批评指正,共同进步,大神绕路。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python12 文件操作

    Pycharm使用UTF-8格式,而Windows默认是GBK格式,所以默认pycharm是处理不了BGK格式的,所以要要定义使用UTF-8格式打开Windo...

    py3study
  • python之批量读取文件

    python的os模块可以实现普遍的操作系统功能,并且和平台无关。以下为实现根目录下文件的批量读取。 os.listdir(dirname)可以列出dirn...

    py3study
  • Python 读取文件里的内容

    读取文件内容有三个方法: Read() 读取整个文件 Readlines()按行读取整个文件 Readeline()按行读取一行内容

    py3study
  • Python12 文件操作

    Pycharm使用UTF-8格式,而Windows默认是GBK格式,所以默认pycharm是处理不了BGK格式的,所以要要定义使用UTF-8格式打开Windo...

    py3study
  • PHP高并发和大流量解决方案整理

    在互联网时代,并发,高并发通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。

    砸漏
  • Windows - Hash散列值抓取方法

    LM Hash(LAN Manager Hash)其本质是 DES 加密。在 Windows 2008 及开始之后默认禁用的是 LM Hash。

    渗透攻击红队
  • MASTER:全局上下文建模大幅提高文本识别精度

    今天跟大家分享一篇昨天新出的场景文本识别方法MASTER,其发明了一种Multi-Aspect 全局上下文建模方法,有效改进了文本识别精度,在多个数据集上取得了...

    CV君
  • Spring IOC容器分析(1) -- BeanFactory

    搭建好源码阅读环境后,就可以慢慢走进Spring殿堂了。IOC是Inversion of Control的缩写,控制反转的意思。很多人可能都知道IOC是spri...

    YGingko
  • 在C#使用文件监控对象FileSystemWatcher 实现数据同步

           最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文件中的内容。首先想到的是用程序定期去访问这个文件,因为对实时性要求很高,间隔不能...

    hbbliyong
  • 关于消息队列的优缺点,看这篇就行

    如上图所示,可能存在某一个系统产生关键数据,所有系统都需要其进行提供数据,导致A系统与要提供数据系统产生耦合,系统拓展,其他系统的需求修改都会导致A系统产生修改...

    Java_老男孩

扫码关注云+社区

领取腾讯云代金券