如何用Python读取编号01至10的系列文件?
解决带前导零编号的系列文件读取问题
你的问题核心是文件名里的编号是两位带前导零格式(01-10),之前的循环写法要么在i=10时生成错误的010,要么在i=1-9时缺少前导零,导致匹配不上文件名。
直接用Python f-string的格式化语法就能高效解决:
for i in range(1, 11): # range是左闭右开,写11才能包含10 file = f"1-{i:02d}-1.wav" # 这里添加读取文件的逻辑即可,比如: # with open(file, 'rb') as f: # # 处理文件内容 print(file) # 先打印验证,会输出1-01-1.wav到1-10-1.wav
关键说明:
range(1,11):覆盖1到10的所有数字,因为Python的range不包含右边界值。{i:02d}:格式化规则,02表示将数字格式化为两位宽度,不足两位时用0填充,d表示十进制整数。这样1会变成01,10会保持10,完美匹配你的文件名格式。
之前的两种写法问题:
- 手动加
0:当i=10时会生成1-010-1.wav,显然不符合文件名。 - 直接用
{i}:i=1-9时会生成1-1-1.wav这类缺少前导零的文件名,和实际文件不匹配。
内容的提问来源于stack exchange,提问作者Megan
相关产品推荐
相关产品推荐

