Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Python組み込みのprint関数には末尾の指定オプションがある

nt関数には末尾の指定オプションがあります。

実際のところ

print関数の引数"end"に空文字を指定すると

b="\x01\x02"
print(b, end="")
$ python3 sample.py | xxd -ps
0102


このendにはhex値を渡すこともok。
例えば、パケットの先頭としてよく使われる"0x7e"だと

print(b, end="\x7e")
$ python3 sample.py | xxd -ps
01027e

複数文字もいけるので、ヒアドキュメント*1で多用されるEOFを末尾にする事も可能。

b="\x01\x02"
print(b, end="EOF")
$ python3 sample.py | xxd -ps
0102454f46

*1:"<<<"で書ける奴はヒアストリング