Python中IO流与File对象

  • IO流:

什么叫做IO stream(input output stream):输入输出流
指的就是内存数据的读入和写出!!!!
广义上来说,IO流指的就是数据到磁盘、到另一电脑间(socket)的都可以被称为IO流
狭义上来说,IO流一般指的就是内存和磁盘之间的数据交互

python的IO流操作和C语言的非常的像,所以操作非常简单

  • IO的分类:

    数据流动的方向:
    |-- 输入流 read 读取 inputstream
    |-- 输出流 write 写入 outputstream
    数据类型:
    |-- 字节流 byte
    |-- 字符流 text

  • open函数:

    各个位的参数问题

  • file对象的常见方法:

    read()
    readline()
    readlines()
    write()
    writelines()
    flush() # 手动刷新缓冲区

  • 字节流的使用:

    二进制数据:图片、视频、音频等等二进制文件数据

  • 对象序列化和反序列化:

    对象:逻辑、虚拟、抽象单位
    对象序列化:就是将逻辑的东东转换为真实可以保存的数据(字节数据、字符串(json、xml、yaml……))
    对象反序列化:就是将序列化后的数据,还原为逻辑数据

    持久化:永久的保存数据,将数据保存到磁盘等设备(ROM)上

  • pickle

    主要就是将对象序列化为字节数据

    dumps(对象) # 将对象转换为二进制数据
    loads(二进制数据) # 将二进制数据转换为对象

    dump(file, 对象) # 将对象转换为二进制数据,再持久化到磁盘
    load(file) # 将磁盘上保存的二进制数据,转换为对象

  • json

    主要是将对象序列化为字符数据

大文件拷贝

def copy_file(src_url,dest_url):
    fr = open(src_url,'br')
    fw = open(dest_url,'bw')

    while True:
        content = fr.read(1024 * 1024 * 10)
        if content == b'':
            break
        else:
            fw.write(content)

    fr.close()
    fw.close()


if __name__ == '__main__':
    src_url = input("请输入原文件:")
    dest_url = input("请输入需要拷贝的文件:")
    copy_file(src_url,dest_url)

你可能感兴趣的:(python,python)