python 中使用函数的方法取消转义

图片

python 中使用函数的方法取消转义

问题原因解析:

因为目录文件是需要转义的, 所以会显示出无法删除本地目录的错误, 对于目录文件取消自动转义, 在 python 中除了 R 之外, 还有什么方法? 我们不妨调用一个函数来取消转义, 那么在 RPA 中, 即时获取到的文件路径是变量, 也可以将这个变量的目录地址进行转义。

代码部分


import os
                    
def  delAll(filepath):
    if os.path.isdir(filepath): # 判断当前给的路径是否为目录
        files = os.listdir(filepath) # 列举目录下的所有文件与目录。返回list列表
        print(files)
        for file in files:
            p = os.path.join(filepath,file) # 获取文件的绝对路径
            if os.path.isdir(p): # 如果是目录再执行一次
                delAll(p)
            else:
                os.remove(p) # 删除指定文件
        os.rmdir(filepath)
    else:
        os.remove(filepath) # 删除指定文件
trans_map = {
   '\a': r'\a',
   '\b': r'\b',
   '\f': r'\f',
   '\n': r'\n',
   '\r': r'\r',
   '\t': r'\t',
   '\v': r'\v',
   '\'': r'\'',
   '\"': r'\"',
   '\0': r'\0',
   '\1': r'\1',
   '\2': r'\2',
   '\3': r'\3',
   '\4': r'\4',
   '\5': r'\5',
   '\6': r'\6',
   '\7': r'\7',
   '\8': r'\8',
   '\9': r'\9'
}

def raw(text):
    new_str = ''
    for char in text:
        try:
            new_str += trans_map[char]
        except KeyError:
            new_str += char

    return new_str
paths = 'D:\new'
path = raw(paths)
print(path)
if  os.path.exists(path):
    delAll(path)