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 但他对我有不同的错误。有人告诉我为什么会这样吗?
答案 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
。这是一种更加清晰简单的方式。