如何接受包含转义字符python的字符串

时间:2013-03-19 21:46:34

标签: python string escaping

如果用户输入一个包含转义字符的字符串(例如“Example \”或“C:\ Users ...”),我想完全接受它。换句话说,我试图规避处理上述输入时抛出的语法错误。

我觉得它应该很简单,但答案不在于我。有什么帮助吗?

编辑:我正在使用python 3

3 个答案:

答案 0 :(得分:5)

不要使用input();在接受字符串输入时使用raw_input()

input()(在Python 2上)尝试将输入字符串解释为Python,raw_input()根本不尝试解释文本,包括不尝试将\反斜杠解释为escape序列:

>>> raw_input('Please show me how this works: ')
Please show me how this works: This is \n how it works!
'This is \\n how it works!'

在Python 3上,只使用input()(Python 2的raw_input()重命名);除非您还使用eval(),否则解释转义码:

>>> input('Please show me how this works: ')
Please show me how this works: This is \n how it works!
'This is \\n how it works!'

答案 1 :(得分:0)

如果您使用的是python 2.7,请使用raw_input()接受带有特殊字符的字符串。

示例程序

$vi demo.py

str1=raw_input("Enter the file with full path : ")

print "Given Path is : ",str

save and quit from vi editor

Output 

$python demo.py

Enter the path :/home/ubuntu/deveops

Given path is  :  /home/ubuntu/deveops

$ python demo.py

Enter the path :\home\ubuntu\deveops

Given path is  :  \home\ubuntu\deveops

如果你使用python3使用input()接受带有特殊字符的字符串,因为python3没有raw_input()函数

$vi demo1.py

 str1=input("Enter the file with full path : ")

 print ("Given Path is : ",str1)

save and quit from vi editor

Output

$python demo1.py

Enter the path :/home/ubuntu/deveops

Given path is  :  /home/ubuntu/deveops


$ python demo1.py

Enter the path :\home\ubuntu\deveops

Given path is  :  \home\ubuntu\deveops

答案 2 :(得分:0)

处理输入时,使用eval()函数。将输入作为争论传递给eval()函数。 例如: PYTHON 3

x=input()
x=eval(x)

x = eval ( input() )
input the following value:
\N{superscript two}

print ( x )

输出²