使用pathlib通过字符串值定义路径及拼接TypeError报错解决问询
问题修复方案
错误原因
你触发报错的核心原因是pathlib.Path生成的是路径对象,而非普通字符串,Python不支持路径对象和字符串直接用+运算符拼接,因此抛出了对应的TypeError。
修复方法
pathlib原生支持使用/运算符完成路径拼接,不需要手动拼接字符串,也不需要提前指定完整路径,还能自动适配不同操作系统的路径分隔符规则,修改后的代码如下:
import pathlib def script(first_name='', second_name=''): # 注意:原代码中你主动覆盖了入参first_name、second_name的取值,会导致传入的参数失效,需要删除以下两行 # first_name='first_name' # second_name='second_name' project_path = pathlib.Path.home() / 'Desktop' / 'Project_folder' name_path = project_path / f"{first_name}{second_name}" subfolder = name_path / 'subfolder' # 执行文件夹创建,parents会自动创建不存在的上级目录,exist_ok避免路径已存在时报错 subfolder.mkdir(parents=True, exist_ok=True)
额外使用说明
/运算符可以直接连接路径对象和任意字符串段,多段路径拼接时可以连续使用,不需要单独处理拼接逻辑- 如果需要单独获取路径的字符串格式,对路径对象调用
str()方法即可 - 不需要手动处理Windows的反斜杠、Unix系系统的正斜杠差异,pathlib会自动适配当前运行的系统
内容的提问来源于stack exchange,提问作者Boris Donnelly
相关产品推荐
相关产品推荐

