我正在做一个代码来接受某些文件路径作为命令行参数,然后想看看%r的作用...我尝试了几件事,请仔细阅读以下代码,让我知道%r的作用说明符起作用,为什么在页码前有“ \”。
string1 = "C:\raint\new.txt"
string2 = "%r"%string1
string3 = string2[1:-1]
print "Input String: ",string2
print "Raw String: ",string3
string1 = "C:\raint\pint.txt"
string2 = "%r"%string1
string3 = string2[1:-1]
print "Input String: ",string2
print "Raw String: ",string3
Output:
Input String: 'C:\raint\new.txt'
Raw String: C:\raint\new.txt
Input String: 'C:\raint\\pint.txt'
Raw String: C:\raint\\pint.txt
答案 0 :(得分:0)
它是字符串格式化程序,就像还有其他格式化程序一样,例如%s表示字符串,%d表示整数。本质上,当您遇到%s或%r之类的格式化程序时,将在该对象上调用特定方法。如果是%s,则为str()方法;如果为%r,则为repr()方法。一些很好的参考资源是:
答案 1 :(得分:0)
%r
使用repr()
函数进行转换。它返回对象的精确表示。使用repr()
,大多数数据类型具有相似的输出,但是我们可以在下面找到区别。
>>> import datetime
>>> date = datetime.date.today()
>>> date
datetime.date(2019, 7, 3)
>>> str(date)
'2019-07-03'
>>> repr(date)
'datetime.date(2019, 7, 3)'