爱若晨风 发表于 2018-8-11 10:19:10

python笔记--文件处理

  文件处理
  1.open函数
  (1)语法:文件句柄 = open('文件路径', '模式')
  打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,之后通过此文件句柄对该文件进行操作。
  操作文件时,一般需要经历三个步骤:打开文件、操作文件、关闭文件,例如:
>>> f=open('test.txt','w')  
>>> f.write('this is a test')
  
>>> f.close()    #在写入数据时,最后必须关闭,否则文件内容丢失。
  如果需要多次换行输入可以配合'\n',例如:
>>> f=open('/root/test.txt','a',encoding='utf-8')  
>>> f.write('aaaaa\n')
  
>>> f.write('bbbbb\n')
  
>>> f.close()
  (2)打开文件模式
  r只读模式(默认)。
  w只写模式。(打开文件时清空内容,文件不存在则创建文件)
  a追加模式。(追加内容)
  a+读写,只能写到文件末尾。
  w+写读,打开文件时清空内容。
  r+读写,能写到文件任何位置。
  rb二进制模式读
  wb二进制模式写
  (3)操作方法
  f.read()从当前指针位置开始读取size字节,如果size未指定或为负时,将读取剩余所有内容,作为一整个字符串返回。
  f.readline()从当前指针位置开始读取size字节,如果size未指定或为负时,将剩余内容一行一行的读取,返回的都是字符串。
  f.readlines()从当前指针位置开始读取,返回的是一个列表,每一行作为列表的一个元素。
  f.write(‘str’)在文件中写入该字符串
  f.seek(offset[,whence=0])移动指针位置,offset表示移动的字节数,whence表示从哪开始移动。(whence=0默认,文件起始位置;whence=1,当前位置;whence=2,文件末尾)
  f.tell()返回指针所在位置。
  f.flush()不关闭文件,将缓冲区中的数据刷到文件中。(在打开文件时,shell模式下看不到写入的数据)
  f.close()关闭文件
  2.with语句
  在单独使用open函数处理文件时,如果写入数据最后必须关闭文件,如果忘记了,那么文件中的内容将会丢失。然而,使用with语句就可以省去关闭这一步骤,例如:
>>> with open('test.txt','r+') as f:  
...   f.write('aaaaa')
  
...
  
>>> f=open('test.txt')
  
>>> f.read()
  
'aaaaais a test\n'    #指针在内容起始位置,写入数据将覆盖其后相同字节的内容。
页: [1]
查看完整版本: python笔记--文件处理