python文件操作

  #open()返回文件对象,open(filename,mode):

    mode:

     #以文本打开

      'r':读取文件

      'w':写入文件(同名文件将会删除)

      'a':追加文件 

      'r+':打开并写入文件

     #以二进制打开,任何不包含文本的文件(文本模式下会修改行结束符,会损坏非ascll文件)

      'b':二进制方式打开

'''

如果没有指定 size 或者指定为负数,就会读取并返回整个文件。当文件大小为当前机器内存两倍时,就会产生问题。反之,会尽可能按比较大的 size 读取和返回数据。如果到了文件末尾,f.read() 会返回一个空字符串('')

 '''

f.read(size)

 

'''

f.readline() 从文件中读取单独一行,字符串结尾会自动加上一个换行符( \n ),只有当文件最后一行没有以换行符结尾时,这一操作才会被忽略。

'''

f.readline()     

>>> f.readline()
'This is the first line of the file.\n'
>>> f.readline()
'Second line of the file\n'
>>> f.readline()
''

 

#把文件的所有行读到一个列表里

  f.readlines()

  list(f)

 

#把string写入文件,并返回写入字符长度

  >>> f.write('This is a test\n')

  15

#返回一个整数,代表文件对象在文件中的指针位置(比特)

  f.tell()

 

'''

从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。

'''      

file.seek(off, whence=0)

 

在文本文件中(没有以 b 模式打开),只允许从文件头开始寻找(有个例外是用 seek(0, 2) 寻找文件的最末尾处)

 

#关闭文件

  f.close()

 

#用with会自动关闭文件

with open('workfile','r') as f:

  pass

 

json模块:

  #序列化:

    json.dumps([1,'simple','list'])

 

  #写入序列化文件(f为文件对象):

    json.dumps(x,f)  

 

  #反序列化,解码(f为文件对象):

    json.load(f)

 

posted @ 2018-08-21 16:10  IMWU  阅读(182)  评论(0编辑  收藏  举报