使用单个 os.mkdir 函数生成超过 1 个目录 (Python)
Generating more than 1 directory with a single os.mkdir function (Python)
我在 Python (WinOS) 中创建了一个函数,它最终创建了新目录(存储未来工作的地方)。所以在某些时候,我定义了目录并在我使用 os.mkdir(os.pahth.join('current_dir', 'new_dir1', 'new_dir2'))
之后。并且有效。
问题是这个函数在 Linux OS (Ubuntu) 上不起作用。在 Linux 我只能生成一个目录。即:
os.mkdir(os.path.join('current_dir', 'new_dir1', 'new_dir2'))
returns 错误:
(OSError: [Errno 2] No such file or directory: '/[current_dir]/new_dir1/new_dir2')
但是:
os.mkdir(os.path.join('current_dir', 'new_dir1'))
- 这有效,returns 单个目录
但我需要在 Linux 中创建 2 个目录,而不是一个...
我试过几个"easy combos"比如
new_dirs = os.path.join('new_dir1', 'new_dir2')
os.mkdir(os.path.join('current_dir', new_dirs)
returns同样的错误:
OSError: [Errno 2] No such file or directory: '/[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")
应该创建目录:brand
、new
和 directory
来自 https://docs.python.org/3/library/os.html#os.mkdirs :
Recursive directory creation function. Like mkdir(), but makes all intermediate-level directories needed to contain the leaf directory.
我在 Python (WinOS) 中创建了一个函数,它最终创建了新目录(存储未来工作的地方)。所以在某些时候,我定义了目录并在我使用 os.mkdir(os.pahth.join('current_dir', 'new_dir1', 'new_dir2'))
之后。并且有效。
问题是这个函数在 Linux OS (Ubuntu) 上不起作用。在 Linux 我只能生成一个目录。即:
os.mkdir(os.path.join('current_dir', 'new_dir1', 'new_dir2'))
returns 错误:
(OSError: [Errno 2] No such file or directory: '/[current_dir]/new_dir1/new_dir2')
但是:
os.mkdir(os.path.join('current_dir', 'new_dir1'))
- 这有效,returns 单个目录
但我需要在 Linux 中创建 2 个目录,而不是一个...
我试过几个"easy combos"比如
new_dirs = os.path.join('new_dir1', 'new_dir2')
os.mkdir(os.path.join('current_dir', new_dirs)
returns同样的错误:
OSError: [Errno 2] No such file or directory: '/[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")
应该创建目录:brand
、new
和 directory
来自 https://docs.python.org/3/library/os.html#os.mkdirs :
Recursive directory creation function. Like mkdir(), but makes all intermediate-level directories needed to contain the leaf directory.