zoukankan      html  css  js  c++  java
  • python bytes类型

    python3中二进制数据则由bytes类型表示,8位一字节

    格式化打印文件的二进制编码

    with open('spiderman.mkv', "rb") as f:
        print("ok")
        for i in range(10):
            data=f.read(16)
            print (''.join(map(lambda x:('/x' if len(hex(x))>=4 else '/x0')+hex(x)[2:],data)))
    

    每读取16个字节数据然后逆序写入原文件
    你就可以用它来加密某些二进制文件(☄⊙ω⊙)☄
    运行一遍,文件就不能打开,再运行一遍文件又回来了

    with open('spiderman.mkv', "rb+") as f:
        print("ok")
        n=16
        for i in range(5):
            data=f.read(n)
            data=data[::-1]
            f.seek(-n,1)
            f.write(data)
    

    我搜了个底朝天也没有发现好方法直接合并两个文件,或者说在文件前插入字节。只能将一个文件一行一行写入另一个文件末尾。
    seek():移动文件读取指针到指定位置

    tell():返回文件读取指针的位置

    seek()的三种模式:

    (1)f.seek(p,0)  移动指针到文件第p个字节处,绝对位置
    
    (2)f.seek(p,1)  移动指针到相对于当前位置之后的p个字节
    
    (3)f.seek(p,2)  移动指针到相对文章尾之后的p个字节
  • 相关阅读:
    元祖操作
    列表操作
    字符串操作
    zabbix监控脚本
    nginx 使用php-fpm的配置php环境参数
    网卡切换脚本
    mysql数据备份脚本
    docker概念
    网络链路质量监控smokeping
    搭建speedtest
  • 原文地址:https://www.cnblogs.com/uestcman/p/9996283.html
Copyright © 2011-2022 走看看