os.mkdir()返回错误“FileNotFoundError: [Errno 2] No such file or directory”。

25

创建目录的非常简单的代码:

ssh_path = f"{os.getenv('HOME')}/temp/.ssh"
print(ssh_path)
os.mkdir(ssh_path)

它打印出目录的路径,最终以错误结束。

FileNotFoundError: [Errno 2] No such file or directory: '/Users/myusername/temp/.ssh'
/Users/myusername/temp/.ssh

temp 已经存在吗? - user12393567
@SvetlanaofVodianova 不应该有编号,如果存在的话,根据我的理解应该是不同的错误。 - JamesWang
3
然后您需要告诉 os.mkdir() 也创建父文件夹。 - user12393567
1个回答

63
使用os.makedirs()函数创建中间文件夹。
os.makedirs(ssh_path)

如果您使用 pathlib 中的 Path,您可以这样做:

ssh_path = f"{os.getenv('HOME')}/temp/.ssh")
ssh = Path(ssh_path)
ssh.mkdir(parents=true)

os.makedirs()可用!还没有测试使用Path的方法2。谢谢。 - JamesWang
3
os.mkdir() -> $mkdir . os.makedirs() -> $mkdir -p说明:将Python中的os.mkdir()翻译为Linux命令$mkdir .,意为创建一个空目录。将Python中的os.makedirs()翻译为Linux命令$mkdir -p,意为在创建路径时自动创建缺失的上级目录。 - JamesWang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接