文件内建函数:

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()函数赋值给一个变量,这样通过变量,我们就可以对文件进行操作。

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

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

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

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

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

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

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

执行结果如下:

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

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

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

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

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

打开文件111.txt

输出结果

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

Python小白学习之文件内建函数的更多相关文章

  1. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  2. Python小白学习之函数装饰器

    装饰器 2018-10-25 13:49:37 装饰器从字面意思就是用来装饰的,在函数可以理解为:在函数中,我们不想影响原来的函数功能,又想给函数添加新的功能,这时候我们就用到了装饰器. 一般函数操作 ...

  3. Python基础学习之文件(1)

    1.文件对象 文件对象不仅可以用来访问普通的磁盘文件,还可以访问具有文件类型接口的其他对象;文件只是连续的字节序列. 2.文件内建函数(open()) 内建函数open()是打开文件的"钥匙 ...

  4. Python小白学习之路(二十)—【打开文件的模式二】【文件的其他操作】

    打开文件的模式(二) 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码.图片文件的jgp格 ...

  5. Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】

    一.文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量step2:通过句柄对文件进行操作step3:关闭文件 举例: a = open('hello world', 'r', encod ...

  6. Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】

    写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让 ...

  7. Python小白学习之路(四)——第一次练习题

    写在前面: 今天下雪了呢!连着两天都没有更新学习记录. 我没有偷懒呢.做了一天的练习题,昨天学的内容还没总结完,太累了就回去睡觉了 连续一周早起,强大的内心也无法支撑我疲惫的身体 今天早起做了整理.加 ...

  8. python基础学习之文件操作&函数

    1.文件处理相关 1.编码问题 ①python2与python3中的默认编码: py2默认使用ASCII码,py3默认使用utf-8 ②为什么会出现中文乱码,中文乱码的情况有哪些? #sys.stdo ...

  9. Python+Selenium学习--下载文件

    场景 webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中,下面以firefox及chrome为例 代码 Firefox下载 为了让Firefox浏览器能 ...

随机推荐

  1. java读写本地xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <confi ...

  2. linux内核中socket的创建过程源码分析(总结性质)

    在漫长地分析完socket的创建源码后,发现一片浆糊,所以特此总结,我的博客中同时有另外一篇详细的源码分析,内核版本为3.9,建议在阅读本文后若还有兴趣再去看另外一篇博文.绝对不要单独看另外一篇. 一 ...

  3. CSS3中为什么要清除浮动以及三种清除浮动(float)的方法

    方法一:添加新的元素 .应用 clear:both .clear{ clear:both; height: 0; height: 0; overflow:hidden; } 方法二:父级div定义 o ...

  4. PAT——1065. 单身狗

    “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数:随后N行 ...

  5. f-stack中nginx配置后make出现error: ignoring return value of ‘ftruncate’

    问题 Nginx 配置后 make 出现error: src/os/unix/ngx_process_cycle.c: In function 'ngx_start_worker_processes' ...

  6. ASP.NET Core 如何设置发布环境

    在ASP.NET Core中自带了一些内置对象,可以读取到当前程序处于什么样的环境当中,比如在ASP.NET Core的Startup类的Configure方法中,我们就会看到这么一段代码: publ ...

  7. TensorFlow简要教程及线性回归算法示例

    TensorFlow是谷歌推出的深度学习平台,目前在各大深度学习平台中使用的最广泛. 一.安装命令 pip3 install -U tensorflow --default-timeout=1800 ...

  8. react路由传参

    方法1 <刷新页面参数会消失> <Link className="item" to={{pathname:'/order',params:{index :&quo ...

  9. TCP中的三次握手和四次挥手

    三次握手:目的是同步连接双方的序列号和确认号 并交换 TCP窗口大小信息. 理论上跟通话一样: a: 你听的到吗?  b: 我能听到.只需要两次就可以了,但建立连接阶段不是双向即时通信的,且最终的目的 ...

  10. Javascript--将十进制数字转换成罗马数字显示

    下午在FCC(FreeCodeCamp)中文网上做到一道练习题:将给定的数字转换成罗马数字.折磨了一个多小时,终于能把基本功能给实现了.过程如下: 关于罗马数字 罗马数字的详细介绍可见百度,或者罗马数 ...