Python无需知晓完整路径如何向上一级目录保存文件
解决方案
使用Python标准库pathlib处理路径即可实现跨平台兼容,无需写死绝对路径,也不用手动处理不同系统的路径分隔符。
实现代码
import json from pathlib import Path filename = "foo" contents = "bar" # 取当前工作目录(即原代码的src/目录)的上级目录,拼接data目录路径 target_dir = Path.cwd().parent / "data" # 自动创建目录,已存在时不会报错 target_dir.mkdir(exist_ok=True) # 拼接得到最终的文件完整路径 save_path = target_dir / f"{filename}.json" with open(save_path, "w", encoding="utf-8") as file: json.dump(contents, file)
补充说明
- 如果你需要的是相对于脚本文件本身所在位置的上级目录,而非脚本运行时的当前工作目录的上级,把
Path.cwd()替换为Path(__file__).resolve().parent即可,这样不管你在哪个目录下执行该脚本,路径定位都会保持一致。 pathlib是Python 3.4及以上版本内置的标准库,无需额外安装依赖。
内容的提问来源于stack exchange,提问作者user16341274
相关产品推荐
相关产品推荐

