python基础教程第十一章学习笔记
2014-04-06 21:40
162 查看
1、open函数可以用来打开文件,返回一个文件对象,他有一个强制性参数,就是文件名,以字符串的形式提供。
可选参数有模式和缓冲两个。模式用于打开文件要进行什么操作,w写,r读,a追加,b二进制,+读写模式
open函数中模式参数默认的为读模式。在任何一个模式下加上+,都会具有读写模式的功能。
2、如果不指定模式为二进制的时候,那么python会默认打开文件以文本形式,由于换行符在unix和windows下的不同,python会自动将所有的换行符都转换为\n形式,如果是单纯的文本文件不会出问题,但是如果是二进制的音频文件等等,这样的转化就有可能丢失数据,所以用b模式打开会给出和原文件中一样的内容,不会做任何转化。
3、当open返回一个文件对象的时候,即可以用它来引用一些方法对文件操作,比如write
f.write(a),这句话会将a的内容追加到f所对应的文件当中。
f.read(),如果read在调用时没有指定任何参数,那么就会读出整个文件的内容,如果提供了一个数字参数,那么就表明这一次要读多少个字符。读取文件的过程中,是有一个指针的东西在引导的,如果先使用read(4),读取前四个字符,在继续使用read()的话,就会读取除了前四个字符以外的所有字符。所以说,在读文件的过程中,那个指针也会一直移动,直到读到文件末尾,我们通过这个指针的位置就知道了,那样也好结束读取操作
4、在命令行中使用管道命令,可以把前一个命令的输出作为接下来一个命令的输入,也就是说,上一个命令的结果,作为下一个命令的输入来处理。
5、随机访问:
正常读取的时候,都是从文件的头部,读取到文件的尾部,如果想自己制定读取文件的位置的话,可以使用seek()和tell()函数。
seek(a)是把当前的读写位置,移动到a位置,a默认是0,也就是文件的开头。其余大于0得数实际上就是一个偏移量,这个偏移量是从文件开头开始计算的。
tell()函数式返回文件当前的读写位置。大多数情况下返回的是一个长整数
6、readline()函数读取文件的一行,直到它遇到换行符的时候停下。如果函数指定一个数字参数,那么也就是指定了这个函数能够读取字符数目的最大值
7.readlines()每次读取文件的一行,直到文件结束,并作为列表返回。
8、在对文件的操作完成之后一定要使用close方法来关闭文件,避免文件的数据丢失
9、可以讲对文件的操作放入try/finally组合中,将文件的关闭语句放入finally组,这样的话就不用担心文件的关闭问题了。
10、with open("123.txt", "w") as f1与f1=open("123.txt","w")的功能基本一样,只不过这一次不用再担心关闭文件的问题,因为with无论在什么情况下,在语句结束之后都会关闭文件,即使是有异常的时候。
11、一般来说,对文件进行一些修改之后,这些修改并不会立刻就更新到磁盘上的文件中,因为使用磁盘上的文件,涉及到外设的访问会很耗时间,如果你很快又要使用这个文件,那么就会存到一个缓冲区里面,而不是立即将上一次的修改写入磁盘,只有在文件关闭的时候,才会把修改的内容更新至磁盘上的文件。
12、如果在打开文件的时候没有把open函数的返回值赋值给一个变量而是直接引用的话,那么再语句结束之后python会自动关闭它
13、sys.stdin也回返回一个可迭代对象,用于迭代屏幕上输入的所有行
14、标准流中的stdin,stdout,stderr,都是文件对象
可选参数有模式和缓冲两个。模式用于打开文件要进行什么操作,w写,r读,a追加,b二进制,+读写模式
open函数中模式参数默认的为读模式。在任何一个模式下加上+,都会具有读写模式的功能。
2、如果不指定模式为二进制的时候,那么python会默认打开文件以文本形式,由于换行符在unix和windows下的不同,python会自动将所有的换行符都转换为\n形式,如果是单纯的文本文件不会出问题,但是如果是二进制的音频文件等等,这样的转化就有可能丢失数据,所以用b模式打开会给出和原文件中一样的内容,不会做任何转化。
3、当open返回一个文件对象的时候,即可以用它来引用一些方法对文件操作,比如write
f.write(a),这句话会将a的内容追加到f所对应的文件当中。
f.read(),如果read在调用时没有指定任何参数,那么就会读出整个文件的内容,如果提供了一个数字参数,那么就表明这一次要读多少个字符。读取文件的过程中,是有一个指针的东西在引导的,如果先使用read(4),读取前四个字符,在继续使用read()的话,就会读取除了前四个字符以外的所有字符。所以说,在读文件的过程中,那个指针也会一直移动,直到读到文件末尾,我们通过这个指针的位置就知道了,那样也好结束读取操作
4、在命令行中使用管道命令,可以把前一个命令的输出作为接下来一个命令的输入,也就是说,上一个命令的结果,作为下一个命令的输入来处理。
5、随机访问:
正常读取的时候,都是从文件的头部,读取到文件的尾部,如果想自己制定读取文件的位置的话,可以使用seek()和tell()函数。
seek(a)是把当前的读写位置,移动到a位置,a默认是0,也就是文件的开头。其余大于0得数实际上就是一个偏移量,这个偏移量是从文件开头开始计算的。
tell()函数式返回文件当前的读写位置。大多数情况下返回的是一个长整数
6、readline()函数读取文件的一行,直到它遇到换行符的时候停下。如果函数指定一个数字参数,那么也就是指定了这个函数能够读取字符数目的最大值
7.readlines()每次读取文件的一行,直到文件结束,并作为列表返回。
8、在对文件的操作完成之后一定要使用close方法来关闭文件,避免文件的数据丢失
9、可以讲对文件的操作放入try/finally组合中,将文件的关闭语句放入finally组,这样的话就不用担心文件的关闭问题了。
10、with open("123.txt", "w") as f1与f1=open("123.txt","w")的功能基本一样,只不过这一次不用再担心关闭文件的问题,因为with无论在什么情况下,在语句结束之后都会关闭文件,即使是有异常的时候。
11、一般来说,对文件进行一些修改之后,这些修改并不会立刻就更新到磁盘上的文件中,因为使用磁盘上的文件,涉及到外设的访问会很耗时间,如果你很快又要使用这个文件,那么就会存到一个缓冲区里面,而不是立即将上一次的修改写入磁盘,只有在文件关闭的时候,才会把修改的内容更新至磁盘上的文件。
12、如果在打开文件的时候没有把open函数的返回值赋值给一个变量而是直接引用的话,那么再语句结束之后python会自动关闭它
13、sys.stdin也回返回一个可迭代对象,用于迭代屏幕上输入的所有行
14、标准流中的stdin,stdout,stderr,都是文件对象
相关文章推荐
- 王爽《汇编语言》(第二版) 学习笔记 (第十一章 标志寄存器)
- [学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十一章 属性
- 《COM原理及应用》学习笔记之第十一章
- 泛型算法 - 2【C++ Primer 学习笔记 - 第十一章】
- 《python基础教程(第二版)》学习笔记 基础部分(第1章)
- C++ Primer复习和学习笔记 第十一章 泛型算法
- 系统架构师学习笔记_第十一章(下)
- 《Python基础教程》第20章学习笔记
- 《Python基础教程》学习笔记 - Lesson03:使用字符串
- APUE第十一章学习笔记
- 《python基础教程(第二版)》学习笔记 函数(第6章)
- 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
- Python基础教程第五章学习笔记——条件、循环和其他语句
- [汇编学习笔记][第十一章标志寄存器]
- 《python基础教程(第二版)》学习笔记 类和对象(第7章)
- 系统架构师学习笔记_第十一章(上)_连载
- CCNA第十一章学习笔记OSPF简介
- [置顶] [汇编学习笔记][第十一章标志寄存器]
- Java学习笔记―第十一章 多线程机制
- Ruby on Rails Tutorial 学习笔记 --第十一章关注用户