如何用一行代码检测目录是否存在并创建Python pathlib的Path对象?
用pathlib创建目录并实例化Path对象的实现方案
首先,你的术语使用完全没问题,无需纠正。
当然可以用一行代码完成需求,Python 3.8及以上版本可以利用**海象运算符(:=)**实现链式操作,既能在目录不存在时创建它,又能直接得到Path对象:
(my_path := Path("my_dir/my_subdir")).mkdir(parents=True, exists_ok=True)
海象运算符会先将Path("my_dir/my_subdir")的实例赋值给my_path,再调用该实例的mkdir方法完成目录创建。
如果你的Python版本低于3.8,也可以用分号分隔两行代码实现“一行书写”:
my_path = Path("my_dir/my_subdir"); my_path.mkdir(parents=True, exists_ok=True)
至于更优方案:其实你最初的两行代码写法可读性更好,在团队协作或代码维护场景下,这种清晰的分步操作比紧凑的一行代码更易理解。如果是个人脚本追求简洁,海象运算符的写法是不错的选择;如果需要兼容低版本Python,分号分隔的写法更稳妥。
内容的提问来源于stack exchange,提问作者the_meter413
相关产品推荐
相关产品推荐

