python文件读写

一 python读写文件使用open函数

f = open(filename,mode='r')

详细的mode:

r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

 

 

 

 

 

 

 

 

 

 

 

 打开文件后,需要关闭文件

f.close()

二 文件对象的一些内置函数:

  1.   文件的读函数有三个:
    1. read(size):读取所有文件内容,若给定size,则读取size字节的内容
      # test.txt
      hello world!
      welcome
      In [55]: f=open('test.txt','r')
      In [
      56]: f.read() Out[56]: 'hello world!\nwelcome\n'
    2. readline(size):读取文件的一行,包括行结束符,若给定size,则读取size字节的内容
      In [59]: f=open('test.txt','r')

      In [60]: f.readline()
      Out[60]: 'hello world!\n'
    3.   readlines():readlines() 方法并不像其它两个输入方法一样返回一个字符串. 它会读取所有行然后把它们作为一个字符串列表返回.
      In [61]: f=open('test.txt','r')

      In [62]: f.readlines()
      Out[62]: ['hello world!\n', 'welcome\n']
    2. 文件的写函数:(写文件时,打开文件时要以可写方式打开)
    1. write():将数据写入文件
    2. writelines():针对列表的操作,接受一个字符串列表作为参数,将他们写入文件,行结束符不会自动加入  
      In [68]: abc = ['next\n','lastline\n'] 
      
      In [69]: f=open('test.txt','a') 
      
      In [70]: f.writelines(abc) 
      
      In [71]: f.close()
      #test.txt
      hello world!
      welcome
      next
      lastline

       

 

   3.文件的其他方法: 

    1. file.seek(off, whence=0) 在文件中移动文件指针, 从 whence ( 0 代表文件开头, 1 代表当前位置, 2 代表文件末尾)偏移 off 字节

    2. file.tell() 返回当前在文件中的位置

    3. file.truncate(size=file.tell()) 截取文件到最大 size 字节, 默认为当前文件位置

   4.文件对象的属性:

    1. file.closed True 表示文件已经被关闭, 否则为 False

    2. file.encodinga 文件所使用的编码 - 当 Unicode 字符串被写入数据时, 它们将自动使用 file.encoding 转换为字节字符串; 若 file.encoding 为 None 时使用系统默认编码

    3. file.mode 文件打开时使用的访问模式   

    4. file.name 文件名      

 

  

 

        

 

   

posted @ 2018-01-01 19:24  曲径通幽处  阅读(216)  评论(0编辑  收藏  举报