Python学习2:文件操作
来源:互联网 发布:js实例经典 编辑:程序博客网 时间:2024/05/21 09:00
1. 打开文件,创建文件对象。
f = open(文件名,模式)
最常用的模式有:
"r" # 只读
“w” # 写入
2. 文件对象的方法:
读取方法:
content = f.read(N) # 读取N bytes的数据,缺省时读入所有行
content = f.readline() # 读取一行
content = f.readlines() # 读取所有行,储存在列表中,每个元素是一行。
read()、.readline() 和 .readlines(),每种方法可以接受一个变量以限制每次读取的数据量,但它们通常不使用变量。 read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。
readline() 和 readlines() 非常相似。它们都在类似于以下的结构中使用:
test.txt中保存以下内容:
you are beautiful!
I am NO.1
>>>f=open(r'd:\test.txt','r')>>>for line in f.readlines(): print line,you are beautiful!I am NO.1
之间的差异是后者一次读取整个文件,象 .read()一样。.readlines()自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for... in ... 结构进行处理。另一方面,.readline()每次只读取一行,通常比 .readlines()慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用.readline()。
写:
writeline()是输出后换行,下次写会在下一行写。write()是输出后光标在行末不会换行,下次写会接着这行写
经过read、readline之后,文件指针会自动移动到当前读取位置的下一个位置,如果需要重新定位文件指针,则需要使用seek函数
seek(arg1,arg2)函数包含2个参数,第二个参数arg2取值为0,1,2,分别表示文件开头,当前位置,文件末尾,arg1指定相对于arg2位置需要移动的字节数。
此外,可以利用tell()函数查看指针在文件中的当前位置(以字节为单位)
现在有test.txt,内容如下:
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD
>>>f=open(r'test.txt','r')>>>f.tell()0L>>>f.seek(8,0)>>>f.tell()8L
写入方法:
f.write('I like apple') # 将'I like apple'写入文件
关闭文件:
f.close()
3. 循环读入文件:
(该方法已经从Python 3中删除,请尽量避免使用)
for line in file(文件名): print line
利用file()函数,我们创建了一个循环对象。在循环中,文件的每一行依次被读取,赋予给line变量。
总结:
f = open(name, "r")
line = f.readline()
f.write('abc')
f.close()
- Python学习2:文件操作
- python学习-文件操作
- Python学习-文件操作
- python学习--文件操作
- Python学习笔记(2)比特操作、类、文件操作
- 学习python[2] Python:文件操作技巧(File operation)
- Python学习---文件目录操作
- Python学习笔记--文件操作
- Python学习15:文件操作
- Python学习-文件操作IO
- Python学习之文件操作
- Python学习笔记<文件操作>
- 学习Python语言---文件操作
- Python学习之文件操作
- python学习笔记--文件操作
- python文件操作学习笔记
- Python基础学习----文件操作
- Python文件操作学习总结
- 《将博客搬至CSDN》
- 十八 C 中的 mktime stime
- 用jsp编写九九乘法表
- VC++6.0创建一个含gdiplus的Win32 Static Library工程编译时报错解决办法
- 根据符号的地址从elf文件中查找其符号名
- Python学习2:文件操作
- 黑马程序员---Java基础学习之面向对象的多态问题
- 十九 struct tm 和 time_t 时间和日期的使用方法
- HDOJ P2544 最短路 最短路各种算法演练
- 梵蒂冈的风格的风格
- 设计模式实战应用之三:装饰者模式
- C#使用Tesseract OCR 解析验证码
- Oracle 11g 客户端连接
- 二十 关于gmtime、gmtime_r、localtime、localtime_r