wsaer 发表于 2017-4-28 13:34:23

Python常用文件读写

  读文本文件
  input = open('data', 'r')
  #第二个参数默认为r
  input = open('data')
  读二进制文件
  input = open('data', 'rb')
  读固定字节
  file_object = open('abinfile', 'rb')
  3.写文件
  写文本文件
  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+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,
  写入的数据会被加到文件尾后,即文件原先的内容会被保留。
  Examles:

#!/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!'

#简单文本读取
f = open('text.txt','r')
for line in f.readlines():
print line.strip()#默认会读出换行符,需要用strip() 进行处理

#二进制文件复制
import os
f = open('test.jpg','rb')
targetFile='test2.jpg'
if os.path.isfile(targetFile):
os.remove(targetFile)
#另存为
print open('test2.jpg','wb').write(f.read())
页: [1]
查看完整版本: Python常用文件读写