• python open函数应用


    1.open

    使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。

    1
    2
    3
    4
    5
    file_object = open('thefile.txt')
    try:
      all_the_text = file_object.read( )
    finally:
      file_object.close( )

    注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。

    2.读文件

    读文本文件

    1
    2
    3
    input = open('data', 'r')
    #第二个参数默认为r
    input = open('data')

    读二进制文件

    input = open('data', 'rb')

    读取所有内容

    1
    2
    3
    4
    5
    file_object = open('thefile.txt')
    try:
      all_the_text = file_object.read( )
    finally:
      file_object.close( )

    读固定字节

    1
    2
    3
    4
    5
    6
    7
    8
    9
    file_object = open('abinfile', 'rb')
    try:
      while True:
        chunk = file_object.read(100)
        if not chunk:
          break
        do_something_with(chunk)
    finally:
      file_object.close( )

    读每行

    list_of_all_the_lines = file_object.readlines( )

    如果文件是文本文件,还可以直接遍历文件对象获取每行:

    for line in file_object:
        process line

    3.写文件

    写文本文件
    output = open('data', 'w')

    写二进制文件
    output = open('data', 'wb')

    追加写文件
    output = open('data', 'w+')

    写数据

    1
    2
    3
    file_object = open('thefile.txt', 'w')
    file_object.write(all_the_text)
    file_object.close( )

    写入多行
    file_object.writelines(list_of_text_strings)

    注意,调用writelines写入多行在性能上会比使用write一次性写入要高

  • 相关阅读:
    linux远程文件、目录操作
    make update-api的使用
    android4.1设置系统 默认方向
    NAIPC2018-K-Zoning Houses
    ICPC2017 Urumqi
    牛客多校第十场-D- Rikka with Prefix Sum
    杭电多校第八场-A-Character Encoding
    杭电多校第七场-J-Sequence
    ConvexScore
    异或序列
  • 原文地址:https://www.cnblogs.com/b-l-java/p/6399512.html
Copyright © 2020-2023  润新知