文件读写

作者: 噜噜迅儿 | 来源:发表于2018-05-26 22:09 被阅读0次

    读文件

    try:
        f = open('/path/to/file', 'r')
        print(f.read())
    finally:
        if f:
            f.close()
    
    with open('/path/to/file', 'r') as f:
        print(f.read())
    

    如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

    for line in f.readlines():
        print(line.strip()) # 把末尾的'\n'删掉
    

    file-like Object

    open()函数返回的这种有个read()方法的对象,在Python中统称为file-like Object。

    二进制文件

    ## 要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可
    >>> f = open('/Users/michael/test.jpg', 'rb')
    >>> f.read()
    b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节
    

    字符编码

    >>> f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore')
    >>> f.read()
    '测试'
    

    写文件

    >>> f = open('/Users/michael/test.txt', 'w')
    >>> f.write('Hello, world!')
    >>> f.close()
    
    with open('/Users/michael/test.txt', 'w') as f:
        f.write('Hello, world!')
    ## 如果我们希望追加到文件末尾怎么办?可以传入'a'以追加(append)模式写入。
    

    相关文章

      网友评论

        本文标题:文件读写

        本文链接:https://www.haomeiwen.com/subject/gtdvjftx.html