Python3.3 学习笔记6 - 文件

使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。(不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。)

  • 文件属性:
    • closed     #标记文件是否已经关闭,由close()改写
    • encoding #文件编码
    • mode      #打开模式 r w a U
    • name      #文件名
    • newlines  #文件中用到的换行模式,是一个tuple
    • softspace #boolean型 ,一般为0,据说用于print
  • 打开文件:open(路径+文件名,读入模式,缓存区),后面两项可选
    • 读入模式(可叠加使用):
      • r只读(默认),
      • w写入(会覆盖原有文件),
      • x新建并写入,
      • a追加(如果文件不存在,创建对应文件),
      • b二进制模式,
      • t文本模式,
      • +读写文件,
      • U提供通用换行符。
    • 举例:file1 = open('c://test.txt', 'wb+'),以二进制读写模式打开test.文件,注意路径需要使用//
  • 读入文件内容:
    • file1.read([size]):size为读取长度,以byte为单位,若size未指定则返回整个文件。如果文件大小>2倍内存则有问题。f.read()读到文件尾时返回""(空字串)
    • file1.readline([size]):读出一行数据的size个字符到行尾,若size未指定,返回整行数据。
    • file1.readlines([size]):返回包含size行的列表,size 未指定则返回全部行。
  • 写入或追加文件内容w,a:关闭文件:
    • file1.write(string):写入一个字符串,原有文件内容会被删除。(只能写入一行数据,换行用'\n'或者写入字符串就已经换行。)
    • file1.writelines(list或者tuple):将列表或者元组按照行写入文件。
    • file1.append(string):追加新加内容到文件末尾
  • 指针相关关闭文件:file1.colse()
    • file1.tell():返回一个表示当前文件指针位置的整数
    • file1.seek(偏移量,[起始位置]):移动文件指针(偏移量:以比特为单位,可正可负;起始位置:00文件头,默认值,1-当前位置,2-文件尾)

 

其他补充

  • 使用pickle模块在文件中存储和恢复python对象,例:
  • testFile = open('pickle.txt','w')
    #and import pickle
    import pickle
    testDict = {'name':'Chen Zhe','gender':'male'}
    pickle.dump(testDict,testFile)
    testFile.close()
    testFile = open('pickle.txt','r')
    print pickle.load(testFile)
    testFile.close()
  • python中统一用\n换行,用U模式打开文件,就是支持所有的换行模式,也就说‘\r’ '\n' '\r\n'都可表示换行。

 

posted on 2012-12-17 12:01  学习,记录,总结  阅读(8106)  评论(2编辑  收藏  举报