Python:问题是检查os.path.exists

时间:2017-09-11 10:31:03

标签: python python-3.x

我正在尝试检查特定目录路径是否存在。

下面是我的代码

temp_path = '\\diwali\NSID-HYD-01\college'
meta_path = os.path.realpath(temp_path)
print(os.path.exists(meta_path))

当我尝试执行此操作时,它会抛出错误,如下所示

temp_path = '\\diwali\NSID-HYD-01\college'
#          ^

错误

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 8-9: malformed \N character escape

帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

Python将字符串内的反斜杠(\)解释为转义码的前导字符。例如,\n是换行符。

如果您希望将它们视为简单的反斜杠,请在字符串前添加r,如下所示:

temp_path = r'\\diwali\NSID-HYD-01\college'

答案 1 :(得分:0)

另一种方法是在\\之前使用两个反斜杠N,如下所示:

temp_path = '\\diwali\\NSID-HYD-01\college'

如果您是从UI获取的(正如您在评论中提到的那样),则可以将\替换为\\

temp_path = '\\diwali\NSID-HYD-01\college'.replace("\\", "\\\\")
# '\\diwali\\NSID-HYD-01\\college'

答案 2 :(得分:0)

你最好的选择是逃避所有的反斜杠:

path_string.replace('\\', '\\\\')

这将用两个反斜杠替换单个反斜杠(因为单个\将逃脱你必须逃脱的引用,这就是为什么它的两个和两个反斜杠)