我正在尝试用\
替换/
,但由于转义字符,机器人框架没有按照我的预期行事。我得到以下结果:
${location1} = Replace String C:\Users\bnduch\Downloads \ /
结果:
/ C /:/ U / S / E / R / S / B / N / d / U / C / H / d / O / W / N / L / O / A / d / S /
如何避免在这里逃跑?
编辑: 为了获得其他选择,我将添加目录字符串的来源。
为了在IE中使用下载的文件,我必须获得默认的下载位置。 (原因是我们无法修改IE下载位置)
def get_ie_download_path():
reg = Reg()
path = 'HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders'
downloadregconfig = reg.read_value(path, '{374DE290-123F-4565-9164-39C4925E467B}')
downloadlocation = downloadregconfig["data"]
return downloadlocation
使用上述功能我正在获取IE默认下载位置,即C:\ Users \ bnduch \ Downloads,但不能使用它,因为它包含' \'。所以我被迫更新' \'到' /'。这样我就可以删除/删除文件。这是我正在使用的代码
${DownloadDir}= get_ie_download_path
${DownloadDir}= Catenate ${DownloadDir}/Daily Reads Status Report.xlsx
Remove File ${DownloadDir}
请建议
答案 0 :(得分:1)
你有几个问题,都与反斜杠是一个转义字符有关。
首先,您需要转义C:\Users\bnduch\Downloads
中的反斜杠,即:C:\\Users\\bnduch\\Downloads
接下来,您需要对其他两个参数执行相同的操作。要获得单个反斜杠,请使用两个;获得两个,使用四个:\
需要\\
而\\
需要\\\\
。
您的完整陈述应如下所示:
${location1} = Replace String C:\\Users\\bnduch\\Downloads \\ \\\\
这样,${location1}
将被设置为28字节的字符串C:\\Users\\bnduch\\Downloads
所有这一切,这看起来像代码味道。您需要在文件路径中使用双反斜杠替换反斜杠是非常罕见的。如果您能告诉我们您认为需要这样做的原因,我们可以提供更好的解决方案。