问个python的转义符的问题

问个python的转义符的问题

import os
import time

# 1. The files and directories to be backed up are specified in a list.
source = [r'e:\grub4dos',r'e:\firefox.txt']
# If you are using Windows, use source = [r'C:\Documents', r'D:\Work'] or something like that

# 2. The backup must be stored in a main backup directory
target_dir = 'e:\\back\\'

# 3. The files are backed up into a zip file.
# 4. The name of the zip archive is the current date and time
target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.rar'

# 5. We use the zip command (in Unix/Linux) to put the files in a zip archive
zip_command = "D:\Progra~1\WinRAR\\rar.exe a -r -idq %s %s" % (target, ' '.join(source))


# Run the backup
if os.system(zip_command) == 0:
    print 'Successful backup to', target
else:
    print 'Backup FAILED'
我稍微修改了 简明python教程 里的一个例子,但是对转义符有点不大明白,希望高手解答一下,谢谢。
1:'e:\\back\\' ,为什么我用r‘e:\back\' 和“e:\back\” 会报错。

2:"D:\Progra~1\WinRAR\\rar.exe a -r -idq %s %s" % (target, ' '.join(source))
     在WinRAR\\rar.exe 为什么要多一个\才行??

3:表示windos目录的表示还可以怎样写?

有那位回答我一下吗?有点搞不懂哦
1.这个问题在于你最后一个反斜杠,如果是这样:r'e:\back' 就行,r'e:\back\' 这个最后一个斜杠在r 之后表示下面还有没有输完的字符,所以会抛错:SyntaxError: EOL while scanning single-quoted string,你可以r'e:\back\回车,就可以看到有...让你继续输入。

2.\\r这里需要多一个\,表示转义后面\\,如果只是\r不是\\r,则表示一个回车符号。

3.win可以用\\,也可以用/这样,比如e:\\back,e:/back都可以
非常感谢