尝试os.mkdir

时间:2015-11-05 05:39:59

标签: python python-3.x

import os
directory=input("Directory: ")
if not os.path.exists(directory):
    os.mkdir(directory)
    os.mkdir(str(directory)+'\steamCMD')
    os.mkdir(str(directory)+'\temporary')

我的代码中的代码段。在此处显示的最后一行返回OSError。为什么?和第5行完全相同但是第5行就像魅力一样。 错误:

    os.mkdir(str(directory)+'\temporary')
OSError: [WinError 123] The filename, directory name, or volume label syntax     is incorrect: 'c:\\testing\temporary'

类似:Python - os.rename() - OSError: [WinError 123] os.mkdir(path) returns OSError when directory does not exist 但他对我有不同的错误。有人告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

尝试:

os.mkdir(str(directory) + '\\temporary')

或者

os.mkdir(str(directory) + r'\temporary')

关于两个\\r'\temporary'here是文档,here是一个很好的问题。

此外,os.path.join()是一个不错的选择,因为它在Windows上使用\\但在* nix上使用/。例如:

os.mkdir(os.path.join(directory), 'temporary')

这会在Windows上提供directory\temporary,在* nix上提供directory/temporary。这是一种更加清晰简单的方式。