Python:如何在路径中转义斜线?

时间:2018-09-17 12:24:32

标签: python

temp_dir = 'spam'
dir_name = 'foo/bar/baz.xyz'  # should be escaped somehow
dir = os.path.join(temp_dir, dir_name)
os.mkdir(dir)

我需要在temp_dir内创建名称为dir_name的目录。但是当前代码将在temp_dir内产生3个嵌套的目录。

我尝试将dir_name中的每个斜杠替换为\/,但是os.mkdir忽略了\的转义,并将其视为嵌套目录名的一部分。

3 个答案:

答案 0 :(得分:6)

您不能这样做。在另一种方式下,操作系统“ foo / bar / baz.xyz”作为文件与“ foo / bar / baz.xyz”作为文件夹有什么区别?我认为这是个坏主意,您将找不到解决方案。

答案 1 :(得分:2)

这不是Python问题,而是操作系统问题。您的操作系统将不支持包含斜杠字符的文件夹名称。

答案 2 :(得分:0)

如果目录名称包含斜杠,则OS模块会将其视为:。因此,您可以通过按以下名称指定目录名来创建包含斜线的目录os.mkdir(path + "dir:name")。该文件夹将命名为dir / name。