使用单个 os.mkdir 函数 (Python) 生成多个目录



我在Python(WinOS(中创建了一个函数,最终会创建新目录(存储未来工作的地方(。所以在某些时候,我定义了目录,然后在我使用os.mkdir(os.pahth.join('current_dir', 'new_dir1', 'new_dir2')).它有效。

问题是同样的功能在Linux操作系统(Ubuntu(上不起作用。在 Linux 中,我只能生成一个目录。即:

os.mkdir(os.path.join('current_dir', 'new_dir1', 'new_dir2'))返回错误:

(OSError: [Errno 2] 没有这样的文件或目录: '/[current_dir]/new_dir1/new_dir2'(

但:

os.mkdir(os.path.join('current_dir', 'new_dir1'))- 这有效,返回单个目录

但我需要在 Linux 中创建 2 个目录,而不是一个......

我尝试了几种"简单的组合",例如

new_dirs = os.path.join('new_dir1', 'new_dir2')
os.mkdir(os.path.join('current_dir', new_dirs)

返回相同的错误:

OSError: [errno 2] 没有这样的文件或目录: '/[current_dir]/new_dir1/new_dir2'

我所做的(并在Linux中工作(是下一个:

#Generate the path for the output files
working_path = os.path.join(outfile_path, 'First_Corregistration', 'Split_Area', '') 
#Verify is the path exist, if not, create it.
if not os.path.exists(working_path):
os.mkdir(working_path)

有人可以告诉我如何使用 Linux 创建 2 个或更多新目录(一个在另一个内部(。我再次强调更奇怪的一点:我目前的解决方案适用于Windows,但不适用于Linux。

而不是os.mkdir使用os.makedirs,应该可以工作。 简单的例子:

os.makedirs("brand/new/directory")

应创建目录:brandnewdirectory

从 https://docs.python.org/3/library/os.html#os.mkdirs :

递归目录创建函数。与 mkdir(( 类似,但使所有中级目录都需要包含叶目录。

相关内容

  • 没有找到相关文章

最新更新