Python核心编程学习笔记(十二)——文件和输入输出
2014-05-15 23:50
232 查看
33、文件内建函数[open() 和 file() ]——提供了初始化输入/输出(I/O)操作的通用接口。open() 内建函数成功打开文件后会返回一个文件对象,否则引发一个错误。
open() 的基本语法是:file_object = open(file_name, access_mode='r', buffering=-1)
file_name 是包含要打开的文件名字的字符串,它可以是相对路径或者绝对路径。
可选变量access_mode 也是一个字符串,代表文件打开的模式。'r'—读取,'w'—写入,'a'—追加,'U'—代表通用换行符支持。
另一个可选参数buffering 用于指示访问文件所采用的缓冲方式,0表示不缓冲,1表示只缓冲一行数据,任何其他大于1的值代表使用给定值作为缓冲区大小,不提供该参数或者给定复制代表使用系统默认缓冲机制。
open() 和file() 函数具有相同的功能,可以任意替换。
34、输入
(1) read(),用来直接读取字节到字符串中,最多读取给定数目个字节。如果没有给定size参数(默认值为-1)或者size值为负,文件将被读取直至末尾。
(2) readline(),读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回。它也有一个可选的size参数,默认为-1,代表读至行结束符,如果提供了该参数,那么在超过size个字节后会返回不完整的行。
(3) readlines(),读取所有(剩余的)行,然后把它们作为一个字符串列表返回。可选参数sizhint代表返回的最大字节大小。
35、输出
(1) write(),把含有文本数据或二进制数据块的字符串写入到文件中去。
(2) writelines(),针对列表操作,接受一个字符串列表作为参数,将它们写入文件,行结束符并不会被自动加入,所以如果需要的话,必须在调用writelines()前给每行结尾加上行结束符。
36、文件内移动
seek() 方法可以在文件中移动文件指针到不同的位置。offset字节代表相对于某个位置偏移量。位置的默认值为0,代表从文件开头算起(即绝对偏移量),1代表从当前位置算起,2代表从文件末尾算起。
text() 方法是对 seek() 的补充,它告诉你当前文件指针在文件中的位置——从文件其实算起,单位为字节。
37、文件迭代
一行一行访问文件很简单:
在这个循环里,eachLine 代表文本文件的一行(包括末尾的行结束符),可以使用它做任何想做的事。
38、其它
close() 通过关闭文件来结束对它的访问,如果不显式地关闭文件的话可能丢失输出缓冲区中的数据。
fileno() 返回打开文件的描述符,是一个整数,可以用在如OS模块的一些底层操作上。
flush() 直接把内部缓冲区中的数据立刻写入文件。
isatty() 是一个布尔内建函数,当文件是一个类tty设备时返回True,否则返回False。
truncate() 将文件截取到当前文件指针位置或者到给定size,以字节为单位。
注意:print 语句默认在输出内容末尾后加一个换行符,而在语句后加一个逗号就可以避免这个行为。readline() 和readlines() 函数不对行里的空白符做任何处理,所以有必要加上逗号,如果省略逗号,那么显示出的文本每行后会有两个换行符。
39、input()
内建函数input() 是 eval() 和 raw_input() 的组合,等价于eval(raw_input())。类似于raw_input(),input()有一个可选的参数,该参数代表了给用户的字符串提示。如果不给定参数的话,该字符串默认为空串。
从功能上看,input 不同于 raw_input(),因为 raw_input()总是以字符串的形式,逐字地返回用户的输入。input()履行相同的的任务;而且,它还把输入作为 python 表达式进行求值。
这意味着input()返回的数据是对输入表达式求值的结果:一个 python 对象。
raw_input():
input():
虽然用户输入字符串,但是 input()把输入作为 python 对象来求值并返回表达式的结果。
open() 的基本语法是:file_object = open(file_name, access_mode='r', buffering=-1)
file_name 是包含要打开的文件名字的字符串,它可以是相对路径或者绝对路径。
可选变量access_mode 也是一个字符串,代表文件打开的模式。'r'—读取,'w'—写入,'a'—追加,'U'—代表通用换行符支持。
另一个可选参数buffering 用于指示访问文件所采用的缓冲方式,0表示不缓冲,1表示只缓冲一行数据,任何其他大于1的值代表使用给定值作为缓冲区大小,不提供该参数或者给定复制代表使用系统默认缓冲机制。
open() 和file() 函数具有相同的功能,可以任意替换。
34、输入
(1) read(),用来直接读取字节到字符串中,最多读取给定数目个字节。如果没有给定size参数(默认值为-1)或者size值为负,文件将被读取直至末尾。
(2) readline(),读取打开文件的一行(读取下个行结束符之前的所有字节),然后整行,包括行结束符,作为字符串返回。它也有一个可选的size参数,默认为-1,代表读至行结束符,如果提供了该参数,那么在超过size个字节后会返回不完整的行。
(3) readlines(),读取所有(剩余的)行,然后把它们作为一个字符串列表返回。可选参数sizhint代表返回的最大字节大小。
35、输出
(1) write(),把含有文本数据或二进制数据块的字符串写入到文件中去。
(2) writelines(),针对列表操作,接受一个字符串列表作为参数,将它们写入文件,行结束符并不会被自动加入,所以如果需要的话,必须在调用writelines()前给每行结尾加上行结束符。
36、文件内移动
seek() 方法可以在文件中移动文件指针到不同的位置。offset字节代表相对于某个位置偏移量。位置的默认值为0,代表从文件开头算起(即绝对偏移量),1代表从当前位置算起,2代表从文件末尾算起。
text() 方法是对 seek() 的补充,它告诉你当前文件指针在文件中的位置——从文件其实算起,单位为字节。
37、文件迭代
一行一行访问文件很简单:
for eachLine in f: :
在这个循环里,eachLine 代表文本文件的一行(包括末尾的行结束符),可以使用它做任何想做的事。
38、其它
close() 通过关闭文件来结束对它的访问,如果不显式地关闭文件的话可能丢失输出缓冲区中的数据。
fileno() 返回打开文件的描述符,是一个整数,可以用在如OS模块的一些底层操作上。
flush() 直接把内部缓冲区中的数据立刻写入文件。
isatty() 是一个布尔内建函数,当文件是一个类tty设备时返回True,否则返回False。
truncate() 将文件截取到当前文件指针位置或者到给定size,以字节为单位。
注意:print 语句默认在输出内容末尾后加一个换行符,而在语句后加一个逗号就可以避免这个行为。readline() 和readlines() 函数不对行里的空白符做任何处理,所以有必要加上逗号,如果省略逗号,那么显示出的文本每行后会有两个换行符。
39、input()
内建函数input() 是 eval() 和 raw_input() 的组合,等价于eval(raw_input())。类似于raw_input(),input()有一个可选的参数,该参数代表了给用户的字符串提示。如果不给定参数的话,该字符串默认为空串。
从功能上看,input 不同于 raw_input(),因为 raw_input()总是以字符串的形式,逐字地返回用户的输入。input()履行相同的的任务;而且,它还把输入作为 python 表达式进行求值。
这意味着input()返回的数据是对输入表达式求值的结果:一个 python 对象。
raw_input():
>>> aString = raw_input('Enter a list: ') Enter a list: [ 123, 'xyz', 45.67 ] >>> aString "[ 123, 'xyz', 45.67 ]" >>> type(aString) <type 'str'>
input():
>>> aList = input('Enter a list: ') Enter a list: [123, 'xyz',45.67] >>> aList [123, 'xyz', 45.67] >>> type(aList) <type 'list'>
虽然用户输入字符串,但是 input()把输入作为 python 对象来求值并返回表达式的结果。
相关文章推荐
- 在System.IO名称空间中文件输入输出的主要类
- WIN32汇编: 12.内存管理和文件输入输出
- 【基础篇】java中输入输出的总括——文件过滤器
- jQuery教程(十二)使用不苛刻的java script代码实现多文件上传
- c++ 中文件的输入输出 问题 必须注意
- Java 的文件(读 写)输入输出
- 【基础篇】java中输入输出的总括——文件操作
- InstallShield内部库函数全集十二-共享和锁定文件函数、字符串函数
- c语言中相关文件输入输出小结
- java-Java 的文件(读 写)输入输出
- Java的文件(读写)输入输出
- LINUX输入输出与文件
- 【基础篇】java中输入输出的总括—— 随机文件操作
- 一个文件间输入输出数据的例子
- 文件输入输出(Input/Output with files)
- Thinking in C++读书笔记--6.3文件输入输出流
- 图像显示、图像文件输入输出
- Java 的文件(读 写)输入输出
- C++文件输入输出
- 使用字符输入输出流读写文件,加密存入文件然后再读取