• python: 读写文件


    通过open函数,这的确很像C语言中的fopen。通过open函数获取一个file object,然后调用read(),write()等方法对文件进行读写操作。

    1.open

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

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

    2.读文件

    读文本文件

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

    读二进制文件

    input = open('data''rb')

    读取所有内容

    file_object = open('thefile.txt')
    try:
        all_the_text 
    = file_object.read( )
    finally:
        file_object.close( )

    读固定字节

    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+')

    写数据

    file_object = open('thefile.txt''w')
    file_object.write(all_the_text)
    file_object.close( )

    写入多行

    file_object.writelines(list_of_text_strings)

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

  • 相关阅读:
    avrdude: stk500_getsync(): not in sync: resp=0x00
    PCB封装技术
    C/C++基础问题归集
    mf210v 端口的映射
    alsamixer 在音频子系统的使用
    rp2836 网卡以及串口与接插件位置关系
    RP2837 IN1-IN2 对应关系 2路DI
    RP2837 OUT1-OUT2 对应关系 2路DO
    RP2836 板卡信息标识
    RP2836 OUT0-OUT7 对应关系
  • 原文地址:https://www.cnblogs.com/baoendemao/p/3804665.html
Copyright © 2020-2023  润新知