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)