如何解决无法使用 pathlib 创建文件对象
我的代码是这样的:
from pathlib import Path
def make_dir(dirr):
if Path(dirr).exists() == False:
Path.mkdir(dirr)
make_dir('output')
'output' 目录不存在。当我尝试创建它时,出现错误,包括 AttributeError: 'str' object has no attribute '_closed'
。
我做错了什么?
解决方法
Path
是一个类,提供调用其实例的方法,而不是一个充满功能的模块。 Path.mkdir(dirr)
仅在 dirr
已经是 Path
时才有效(即使它有效,拼写 dirr.mkdir()
也是一种愚蠢的方式)。只需预先转换为 Path
并重复使用 Path
实例:
def make_dir(dirr):
dirr = Path(dirr)
if not dirr.exists():
dirr.mkdir()
或者更简单地说,只需转换和 use mkdir
directly with exist_ok
(自 Python 3.5 起可用)以避免在创建目录之前需要进行测试和检查:
def make_dir(dirr):
Path(dirr).mkdir(exist_ok=True)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。