我一直在尝试使用linux shell将一个字节序列输出到一个文件中。问题出在我做的时候:
python -c "print '\x11\x22\x33\x44'" > new_file
new_file包含' \ x11 \ x22 \ x33 \ x44 \ x0a'。
我在StackOverflow上查找了类似的问题,并试图通过以下和许多其他类似技术去掉\ x0a:
python -c "print '\x11\x22\x33\x44'.rstrip('\x0a')" > new_file
然而,\ x0a拒绝离开。
之前有没有人遇到这个问题?非常感谢快速修复。感谢。
PS:我已经尝试过各种版本的Python,包括2.5,2.7,3.1,3.3。所有这些都导致了同样的问题。
答案 0 :(得分:1)
这是因为print
函数会在末尾自动添加换行符(ascii 0x0a
)。您可以使用{3}的Python 3版本来设置结束字符:
print
如果您确实需要使用Python 2,可以使用this trick在终端中运行多行Python代码:
> python3 -c "print('\x11\x22\x33\x44', end='')" > new_file
> hexdump -C new_file
11 22 33 44