我正在获取传入的字符串,并希望以原始格式打印缓冲区(按原样打印双反斜杠) 如何告诉 string.format() 这是一个“原始”字符串并且不使用反斜杠字符?
>>> machines=['\\JIM-PC', '\\SUE-PC', '\\ANN-PC']
>>> for machine in machines:
... print 'Machine Found %s' % (machine)
...
Machine Found \JIM-PC
Machine Found \SUE-PC
Machine Found \ANN-PC
最佳答案
最简单的方法就是加倍斜杠,因为“\\”被视为单个斜杠字符。
machines=['\\\\JIM-PC','\\\\SUE-PC','\\\\ANN-PC']
for machine in machines:
print 'Machine Found %s' % (machine)
您还可以使用 str.encode('string-escape') 方法:
machines=['\\JIM-PC','\\SUE-PC','\\ANN-PC']
for machine in machines:
print 'Machine Found %s' % (machine.encode('string-escape'))
或者,如果您希望编码坚持变量以供以后使用,您也可以分配该值。
machines=['\\JIM-PC','\\SUE-PC','\\ANN-PC']
for machine in machines:
machine = machine.encode('string-escape')
print 'Machine Found %s' % (machine)
我在这里找到了 str.encode('string-escape') 方法:casting raw strings python
希望这有帮助。
编辑
Re Chris:print(repr(machine)) 也可以工作,只要你不介意它包含引号即可。
关于python - 在 Python 2.7 中打印带反斜杠的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42301035/