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
忽略了\
的转义,并将其视为嵌套目录名的一部分。
答案 0 :(得分:6)
您不能这样做。在另一种方式下,操作系统“ foo / bar / baz.xyz”作为文件与“ foo / bar / baz.xyz”作为文件夹有什么区别?我认为这是个坏主意,您将找不到解决方案。
答案 1 :(得分:2)
这不是Python问题,而是操作系统问题。您的操作系统将不支持包含斜杠字符的文件夹名称。
答案 2 :(得分:0)
如果目录名称包含斜杠,则OS模块会将其视为:
。因此,您可以通过按以下名称指定目录名来创建包含斜线的目录os.mkdir(path + "dir:name")
。该文件夹将命名为dir / name。