网上查看资料:

u/U:表示unicode字符串 不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。 一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。 建议所有编码方式采用utf8

r/R:非转义的原始字符串 与普通字符相比,其他相对特殊的字符,其中可能包含转义字符,即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。而如果是以r开头,那么说明后面的字符,都是普通的字符了,即如果是“\n”那么表示一个反斜杠字符,一个字母n,而不是表示换行了。 以r开头的字符,常用于正则表达式,对应着re模块。 下面是python脚本:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#########字典###########
path1 = "/Users/weiruoyu/Dow\nloads/股\t市/量化股市"
path2 = R"/Users/weiruoyu/Dow\nloads/股\t市/量化股市"

print path1
print "**************************"
print path2

str1 = "This is a Unicode string."
str2 = u"This is a Unicode string.你好啊。"

print str1
print "**************************"
print str2

输出结果如下:

/Users/weiruoyu/Dow
loads/股	市/量化股市
**************************
/Users/weiruoyu/Dow\nloads/股\t市/量化股市
This is a Unicode string.
**************************
This is a Unicode string.你好啊

举例:测试字符串前加u效果如下, python脚本如下:

#!/usr/local/python/bin/python
# -*-coding=utf8 -*-
import time
import os, sys

N = 3  # 设置删除多少天前的文件
str1 = "你好"
str2 = u"你好"
print str1
print str2

运行脚本显示如下:

浣犲ソ
你好

测试字符串前加r效果如下,