加r
结论:加r是为了取消字符串中的所有可能转义,即字符串的所有字符都会被当成正常字符。
比如windows下有如下文件路径:
"D:\lbq\lang\nc\data\MNIST"
如果不加r
,上述文件路径在代码运行时会报错,因为其会先将双引号”“去掉,然后系统看到了文件路径中有\nc
,其中\n
会被解释成为换行符,所以系统所得到的文件路径已经不是原来的了。
我们应该加上r
。
file_path=r"D:\lbq\lang\nc\data\MNIST"
这样就会重新解释编译,从而不会导致认为是\n
。
还有一种做法就是:
"D:/lbq/lang/nc/data/MNIST"
这样也可以,因为/
不是转义字符。
举一个更加明显地例子:
print("hello\nworld")
print(r"hello\nworld")
后者加r,可以原样输出。
加f
结论:f其实就等价于format,只要你用过format,就会用这个。例如
a="hello"
b="{},world".format(a)
#其等价于
b=f"{a},world"