Python中如何在保存文件名中插入变量?
解决文件名重复部分的变量替换问题
你的代码有两个关键错误,导致无法正常运行:
- 变量
A的赋值缺少引号,A = apple会被Python当成未定义的变量,应该写成A = "apple" - 直接在raw字符串里插入变量
A是无效的,Python不会解析字符串内部的变量,得用正确的字符串拼接/格式化方式
下面是几种适合你需求的实现方式,改一次变量A就能批量更新所有文件名:
方法1:基础字符串拼接
把变量和固定部分的字符串分开拼接,注意raw字符串的斜杠不需要转义:
D = r"c:\users\folder" A = "apple" f1 = D + "\\" + A + "_table.bin" f2 = D + "\\" + A + "_chair.bin"
或者用raw格式化字符串拼接(既保留raw特性,又能解析变量):
f1 = D + rf"\{A}_table.bin" f2 = D + rf"\{A}_chair.bin"
方法2:f-string(推荐,Python3.6+)
最简洁直观的写法,直接在字符串里插入变量:
D = r"c:\users\folder" A = "apple" f1 = fr"{D}\{A}_table.bin" f2 = fr"{D}\{A}_chair.bin"
后续只需要修改A的值,所有文件名会自动更新,非常适合频繁变更的场景。
方法3:str.format()(兼容旧Python版本)
如果你的Python版本低于3.6,用这个方法:
D = r"c:\users\folder" A = "apple" f1 = "{}\\{}_{}.bin".format(D, A, "table") f2 = "{}\\{}_{}.bin".format(D, A, "chair")
方法4:用pathlib处理路径(更规范)
Python3.4+推荐用pathlib模块,自动处理不同系统的路径分隔符,避免手动加斜杠出错:
from pathlib import Path D = Path(r"c:\users\folder") A = "apple" f1 = D / f"{A}_table.bin" f2 = D / f"{A}_chair.bin" # 如果需要字符串类型,转成str即可:str(f1)
内容的提问来源于stack exchange,提问作者Ahmad Hamizan
相关产品推荐
相关产品推荐

