String python,\t在作为参数传递时工作方式不同(在Eclipse中)

String python,\t在作为参数传递时工作方式不同(在Eclipse中),string,python-2.7,delimiter,String,Python 2.7,Delimiter,可能重复: 我已经在Eclipse中编写了一个python代码,它将分隔符作为参数。当我这样做的时候 print "Hello",delimiter, "All". 这将生成-->Hello\t All,而如果在代码中用delimiter='\t'覆盖分隔符,则会得到正确的Hello All输出。我想知道有什么不同?我希望这不仅仅是eclipse的问题。问题是,从命令行传入的实际上是长度为2的字符串“\\t”,而不是制表符。您可以对您的分隔符执行以下操作 delimiter.decode(

可能重复:

我已经在Eclipse中编写了一个python代码,它将分隔符作为参数。当我这样做的时候

print "Hello",delimiter, "All".

这将生成-->
Hello\t All
,而如果在代码中用
delimiter='\t'
覆盖分隔符,则会得到正确的Hello All输出。我想知道有什么不同?我希望这不仅仅是eclipse的问题。

问题是,从命令行传入的实际上是长度为2的字符串
“\\t”
,而不是制表符。您可以对您的
分隔符执行以下操作

delimiter.decode("string_escape"))

将字符串
'\\t'
转换为
'\t'
。答案来自一个重复的问题

对于从命令行传入的问题和在codeGood stuff中覆盖的问题,您是否可以执行
打印len(分隔符)
。问题是,从命令行输入的
\t
被视为两个字符的字符串,
打印分隔符应打印
'\\t'
,如果您想让它创建一个选项卡空间,它应该是一个一个字符的字符串,因此对于第二种情况,
len('\t')
打印
1
。是的,我刚刚找到了,打算把它贴出来。成功了。谢谢