python二进制读写及特殊码同步
python对二进制文件的操作需要使用bytes类,直接写入整数是不行的,如果试图使用f.write(123)向文件中以二进制写入123,结果提示参数不是bytes类型。
import os
import struct a = 0x1A2B3C4D
b = 0x239875ad3d5ffaaa filepath = 'D:\\wygDocument\\python\\code\\abc.dat'
f_in = open(filepath,'wb+') for value in range(1,5):
f_in.write(struct.pack('>I',a))
f_in.write(struct.pack('>Q',b)) f_in.close()
print('Write OK')
1 import os
2 import struct
3
4 #Read file into list
5 with open('E:/fep/tj19.txt','r') as f:
6 line = f.read().strip()
7 linestr = line.split('\n') #splited by line breaks
8 #linestr = line.split(r"[\s\n]",line) #splited by Space character and line breaks
9
10 f_out = open('E:/fep/realData.dat','xb')
11
12 frame_flag_0 = 0x1A2B3C4D5E6F
13 mask = 0xFFFFFFFFFFFF
14
15 for i in range(0,len(linestr)):
16 filepath = 'E:/fep/19/' + linestr[i]
17 f_in = open(filepath,'rb')
18 f_size = os.path.getsize(filepath)
19 f_in.seek(109)
20
21 offset = 109
22 chunk = 905
23
24 while True:
25 if offset >= f_size:
26 break
27 buff = f_in.read(15)
28 offset += chunk
29
30 unpacked_data = struct.unpack_from('>ih',buff,9) #start from the 9th byte
31 if(unpacked_data[0] != 439041101) or (unpacked_data[1] != 24175) #1A2B3C4D 5E6F
32 f_out.write(buff)
33 f_out.write(f_in.read(890)) # 9 + 6 + 890
34
35 f_in.seek(offset)
36
37 f_in.close()
38 f_out.flush()
39
40 f_out.close()
41 print('OK')
python二进制读写及特殊码同步的更多相关文章
- python 二进制读写文件
#-*- coding: utf-8 -*- f = open('f:/text.bmp','rb') filedata = f.read() filesize = f.tell() f.close( ...
- python二进制读写文件
#coding=gbk ''' Created on 2014-5-7 ''' import os.path inputPath = './input.txt' outPath = './out.tx ...
- Python标准库08 多线程与同步 (threading包)
Python主要通过标准库中的threading包来实现多线程.在当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率.Python是一种 ...
- C++文件操作(输入输出、格式控制、文件打开模式、测试流状态、二进制读写)
1.向文件写数据 头文件#include <ofstream> ①Create an instance of ofstream(创建ofstream实例) ②Open the file w ...
- Mysql读写分离,主从同步实现
随着用户量的增多,数据库操作往往会成为一个系统的瓶颈所在,因此我们可以通过实现数据库的读写分离来提高系统的性能. 通过设置主从数据库实现读写分离,主库负责“写”操作,从库负责“读”操作,根据压力情况, ...
- C/C++二进制读写png文件
以下代码只有最简单的读写.地址定位啥的,个别注释中有.如果要改动png的格式甚么的就要再了解一下png的数据结构如果要十进制的话就跟着注释改一下: /*! * \file CC++二进制读写png文件 ...
- Python 文件读写操作实例详解
Python提供了必要的函数和方法进行默认情况下的文件基本操作.你可以用file对象做大部分的文件操作 一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前 ...
- python 文件读写操作(24)
以前的代码都是直接将数据输出到控制台,实际上我们也可以通过读/写文件的方式读取/输出到磁盘文件中,文件读写简称I/O操作.文件I/O操作一共分为四部分:打开(open)/读取(read)/写入(wri ...
- 文本读写vs二进制读写
[文本读写vs二进制读写] 在学习C语言文件操作后,我们都会知道打开文件的函数是fopen,也知道它的第二个参数是 标志字符串.其中,如果字符串中出现'b',则表明是以打开二进制(binary)文件, ...
随机推荐
- Lua中的元表(metatable)、元方法(metamethod)详解
在第一次看见这两样东西的时候,可能会觉得它很深奥,但其实很好理解,虽然实际上它可能真的很深奥.(小若:停!滚粗.) 1.知道为什么1 + 1 = 2吗? 为什么在Lua中,1+1会等于2呢?(小若:难 ...
- lua type 获取 类型
lua中的类型作一小记 print(type("Hello world")) --> string print(type(10.4*3)) --> number pri ...
- 第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
第一层(物理层) 水晶头要做交叉线,用的就是所谓的 1-3.2-6 交叉接法. 有一个叫做 Hub 的东西,也就是集线器.这种设备有多个口,可以将宿舍里的多台电脑连接起来.但是,和交换机不同,集线器没 ...
- Socks协议以及代理转发工具分析
前言:最近两场HW都和某师傅学到了挺多东西,算是对内网不出网以及流量代理做个分析(SOCKS协议,reGeorg原理分析,frp的代理,CS上的代理 SOCKS SOCKS(Socks:Protoco ...
- Jenkins+gitlab发布Django程序
Jenkins+gitlab发布Django程序 一. 二. 三.shell # !/bin/bash cd /root/upload_file #git add . #git commit -m ' ...
- Go基础结构与类型07---简单的数据类型转换
package main import ( "fmt" "strconv" ) /* 类型转换强化 整型和浮点型可以直接强制转换 字符串和数值的转换用strco ...
- 如何不做登录请求而获取cookie到Jmeter里
如何不做登录请求而获取cookie到Jmeter里? 登录被测系统后,按F12,找到如下位置,将这个表格所有信息都复制到Jmeter的HTTP Cookie管理器元件,这样就可以不需要登录,能继续发送 ...
- cmd快捷键设置
操作系统:windows7 x64 目的:像在任意空白处右键都有新建文档的功能一样,将cmd添加到右键里. 操作:百度经验 http://jingyan.baidu.com/article/948f5 ...
- StackOverflow上面 7个最好的Java答案
StackOverflow发展到目前,已经成为了全球开发者的金矿.它能够帮助我们找到在各个领域遇到的问题的最有用的解决方案,同时我们也会从中学习到很多新的东西.这篇文章是在我们审阅了StackOver ...
- 大白话带你认识JVM
如果在文中用词或者理解方面出现问题,欢迎指出.此文旨在提及和而不深究,但会尽量效率地把知识点都抛出来 一.JVM的基本介绍 JVM 是 Java Virtual Machine 的缩写,它是一个虚构出 ...