如何使用Python按//分割并拼接多组文件路径?
Python路径拼接解决方案
方法一:使用os.path.join(兼容全Python版本)
Python标准库的os.path.join()会自动适配系统路径分隔符,无需手动拆分路径,直接将基础路径与子路径传入即可完成拼接,是最稳妥的方案。
代码实现:
import os file1 = "C:\\temp\\IS_ModelDownload\\out" file2 = ["mapp\\here_Model_constants.gcd", "mapp\\here2_Model_constants.gcd"] file3 = "glob\\here_test_constants.gcd" # 处理列表中的子路径 result = [] for sub_path in file2: result.append(os.path.join(file1, sub_path)) # 处理单个子路径 result.append(os.path.join(file1, file3)) # 转为空格分隔的目标输出格式 final_output = " ".join(result) print(final_output)
运行后输出:
C:\temp\IS_ModelDownload\out\mapp\here_Model_constants.gcd C:\temp\IS_ModelDownload\out\mapp\here2_Model_constants.gcd C:\temp\IS_ModelDownload\out\glob\here_test_constants.gcd
方法二:使用pathlib(Python 3.4+ 推荐)
pathlib是Python 3.4引入的面向对象路径处理库,语法更简洁直观,同样会自动处理路径分隔符:
代码实现:
from pathlib import Path file1 = Path("C:\\temp\\IS_ModelDownload\\out") file2 = ["mapp\\here_Model_constants.gcd", "mapp\\here2_Model_constants.gcd"] file3 = "glob\\here_test_constants.gcd" result = [] # 遍历列表拼接 for sub_path in file2: result.append(str(file1 / sub_path)) # 拼接单个路径 result.append(str(file1 / file3)) final_output = " ".join(result) print(final_output)
关于os.path.split("//")的问题
os.path.split()的作用是将路径拆分为目录部分和文件名部分,并非按指定分隔符拆分整个路径,因此不适合你的场景。直接使用专门的路径拼接方法,既能避免手动处理分隔符的错误,也能保证跨平台兼容性。
内容的提问来源于stack exchange,提问作者vk13
相关产品推荐
相关产品推荐

