質問: 10000Byteあるレコードを1000Byte毎に分割すると、1000Byteのレコードが10個できますが最初の1つ目のレコードはそのままで以降の9個のレコードについては先頭から10Byteを削除し990Byteにして その後、分割したレコードを結合したいのですが、簡単でよい方法は御座いませんでしょうか。 イメージ 1234567890|1234567890|1234567890分割 1234567890| 234567890| 234567890先頭を削除 1234567890234567890234567890結合
回答: 以下のような感じでどうでしょうか。 質問文に記載のイメージを参考に、最初は10byte、それ以降は10byteのレコードの先頭1byteを除き、9byteを結合しています。 nを1000, mを10に変えれば、もともとの質問のコードになるかと。 ``` data = '123456789012345678901234567890'.encode('utf-8') # イメージのデータ n = 10 # レコードのバイト数(10byte) m = 1 # 先頭の不要なバイト数(1byte) #最初のnバイトは取り出しておく ret = data[0:n] #元データからのデータ取得と結果データへの結合 for i in range(n, len(data), n): ret = ret + data[i+m:i+n] print(ret) # 結果をstdoutへ出力 ```