在python中正确转义反斜杠

时间:2019-09-05 19:23:08

标签: python escaping

我知道,这可能是一个超级容易的问题,这里有很多答案。我试图阅读,但找不到解决方案。

我知道反斜杠\是一个特殊字符,为了逃避它,我需要像\\一样将其加倍。

我想创建一个文件名指向不同文件夹的字符串,例如fld\filename.mat。但是,此字符串是filename给定的var_filename的串联,文件夹名称和文件扩展名为字符串。然后,我使用此变量将文件加载到python中。

我尝试了var = 'fld\\' + var_filename + '.mat',但是当我尝试使用它来加载文件时,它告诉我找不到 fld\\filename.mat

当然,如果我尝试var = 'fld\' + var_filename + '.mat',它会给我一个行尾错误EOL while scanning string literal,因为我相信\'被视为'的转义符

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

这可能对您的问题很有用,连接是安全的,您可以检查特定文件是否存在。

import os

filename = 'filename'
ext = '.txt'
folder = 'folder

var = os.path.join(folder, filename + ext)
exists = os.path.isfile(var)

答案 1 :(得分:0)

由于您具有路径的不同部分的多个变量,因此可以将它们全部合并为一个。

parent_folder = "parent_folder"
folder = "folder"
name = "file"
ext = ".py"
path = parent_folder + "\\" + folder + "\\" + name + ext
print(path)