Python校验路径与文件存在时 单次使用长路径字符串的最佳存储实践
结论
如果确定所有路径都是单次使用、无复用场景,不需要专门在类初始化阶段统一存储为独立变量,直接在使用位置编写完全可行,反而硬抽到初始化逻辑里会增加代码跳转阅读的成本,也会让初始化代码变得冗余臃肿。
推荐优化方案
你示例里的f-string拼接路径写法有兼容性和出错风险,更推荐用Python标准库的pathlib模块处理路径,既跨平台兼容,也能直接实现存在校验、路径创建等需求,不用自己写额外逻辑:
from pathlib import Path # 路径拼接写法更清晰,也不会出现多写/少写斜杠的问题 target_path = Path(self.variable) / "Desktop" / "folder1" / "folder2" / "filename" if target_path.exists(): print("something") # 路径不存在需要创建的话,直接调用一行代码即可,parents参数会自动创建不存在的父目录,exist_ok参数不会因为路径已存在报错 target_path.mkdir(parents=True, exist_ok=True)
如果你的多个长路径有公共前缀,只需要把公共前缀抽成实例变量即可,不用把每个完整路径都存起来:
class YourTask: def __init__(self, variable): # 公共前缀只需要定义一次 self.base_dir = Path(variable) / "Desktop" / "folder1" def deal_with_file1(self): target_path = self.base_dir / "folder2" / "filename1" # 业务逻辑 def deal_with_file2(self): target_path = self.base_dir / "other_folder" / "filename2" # 业务逻辑
内容的提问来源于stack exchange,提问作者KZiovas
相关产品推荐
相关产品推荐

