我的程序从命令行参数中获取了一个字符串,其中包含许多转义字符。
./myprog.py "\x41\x42\n"
当我打印“sys.argv [1]”时。 我上了屏幕:
\x41\x42\n
是否有一种简单的方法可以打印程序:
AB[newline]
答案 0 :(得分:2)
传递给您的程序的字符串是'\\x41\\x42\\n'
。
我认为没有一种简单的方法可以将其恢复为'AB\n'
。
您必须将字符串拆分为'\\'
,并单独处理每个元素。
如果您的字符串始终采用'\\x..\\x..\\x..\\n'
格式,那么您可以执行此操作:
print ''.join([chr(int('0'+k,16)) for k in sys.argv[1].split('\\')[1:-1]])
答案 1 :(得分:1)