Python文件读写常用方法

发布时间:2020-05-31编辑:脚本学堂
本文介绍了python文件读写的一些方法,包括 读文本文件、读二进制文件、写入文件等,有需要的朋友参考下。

1,python读文件
 

复制代码 代码示例:
读文本文件
input = open('data', 'r')
#第二个参数默认为r
input = open('data')
 
读二进制文件
input = open('data', 'rb')
 
读固定字节
file_object = open('abinfile', 'rb')
 

2,python写文件
 

复制代码 代码示例:
写文本文件
output = open('data', 'w')
 
写二进制文件
output = open('data', 'wb')
 
追加写文件
output = open('data', 'w+')
 
写数据
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
 

文件读写模式全版:
r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容;
w+具有读写属性,写的时候如果文件存在,会被清空,从头开始写。
 
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,
写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,
写入的数据会被加到文件尾后,即文件原先的内容会被保留。
 
例子:
 

复制代码 代码示例:
#!/usr/bin/env python 
 
'''''makeTextFile.py -- create text file''' 
import os 
ls = os.linesep 
 
# get filename 
fname = raw_input('filename> ') 
while True: 
 
    if os.path.exists(fname): 
        print "ERROR: '%s' already exists" % fname 
    else: 
        break 
 
# get file content (text) lines 
all = [] 
print "nEnter lines ('.' by itself to quit).n" 
 
# loop until user terminates input 
while True: 
    entry = raw_input('> ') 
    if entry == '.': 
        break 
    else: 
        all.append(entry) 
 
# write lines to file with proper line-ending 
fobj = open(fname, 'w') 
fobj.writelines(['%s%s' % (x, ls) for x in all]) 
fobj.close() 
print 'DONE!'