方法一、使用os.path模块
import os
icon_path = r"C:\Users\Administrator\Desktop\test.png"
# 获取文件所在的目录
directory = os.path.dirname(icon_path)
# 获取文件名(不包含扩展名)
file_name_without_extension = os.path.splitext(os.path.basename(icon_path))[0]
# 定义新的文件名(在原文件名基础上增加内容)
new_filename = f"{file_name_without_extension}_new.png"
# 生成新的文件路径
new_file_path = os.path.join(directory, new_filename)
print(new_file_path)
方法二、使用pathlib模块
from pathlib import Path
icon_path = r"C:\Users\Administrator\Desktop\test.png"
# 将字符串路径转换为 Path 对象
path = Path(icon_path)
# 获取文件所在的目录
directory = path.parent
# 获取文件名(不包含扩展名)
file_name_without_extension = path.stem
# 定义新的文件名(在原文件名基础上增加内容)
new_filename = f"{file_name_without_extension}_new.png"
# 生成新的文件路径
new_file_path = directory / new_filename
print(new_file_path)
输出都是:C:\Users\Administrator\Desktop\test_new.png
释:
os.path.dirname():
用于获取文件路径所在的目录部分。
os.path.join():
用于将目录和文件名拼接成完整的路径。
Path.parent:
pathlib.Path 对象的 .parent 属性可以直接获取文件所在的目录。
/ 运算符:
在 pathlib 中,可以使用 / 运算符将目录和文件名拼接成完整的路径。
注:如果路径中包含反斜杠 \,建议使用原始字符串(r"…")来避免转义问题。