首页 > 代码库 > 【转】PYTHON open/文件操作
【转】PYTHON open/文件操作
[注]虽是转载,但会在原文上有些修改!
open/文件操作
f=open(‘/tmp/hello‘,‘w‘)
#open(路径+文件名,读写模式)
#读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式
如:‘rb‘,‘wb‘,‘r+b‘等等
读写模式的类型有:
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w 以写方式打开,
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
注意:
1、使用‘W‘,文件若存在,首先要清空,然后(重新)创建,
2、使用‘a‘模式 ,把所有要写入文件的数据都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,将自动被创建。
f.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline() 返回一行
file.readline([size]) 此处修改为返回指定字节数的字符串
假如文本内容为 #1.txt 11111111111 22222222222 # 程序是 f = open(‘1.txt‘,‘r‘) print f.readline(2) print f.readline() 则结果是: 11 22222222222
for line in f: print line #通过迭代器访问
f.write("hello\n") #如果要写入字符串以外的数据,先将他转换为字符串.
f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
f.seek(偏移量,[起始位置])
用来移动文件指针
偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f.close() 关闭文件
Code:
#!/usr/bin/env python # Filename: using_file.py poem=‘‘‘\Programming is funWhen the work is doneif you wanna make your work also fun: use Python!‘‘‘ f=file(‘poem.txt‘,‘w‘) # open for ‘w‘riting f.write(poem) # write text to file f.close() # close the file f=file(‘poem.txt‘) # if no mode is specified, ‘r‘ead mode is assumed by default while True: line=f.readline() if len(line)==0: # Zero length indicates EOF break print line, # Notice comma to avoid automatic newline added by Python f.close() # close the file |
from:http://hi.baidu.com/zzfxz/blog/item/1c4d73cb4aa2c814bf09e613.html
【转】PYTHON open/文件操作