You need to enable JavaScript to run this app. Python for循环中如何将变量i的值传入pixelate函数的路径参数
优惠活动
大模型
产品
解决方案
定价
更多

Python for循环中如何将变量i的值传入pixelate函数的路径参数

问题解决方法

问题核心

你当前的代码仅把%i占位符写死在路径字符串中,没有执行字符串插值操作将循环变量i的实际值代入路径,pixelate函数接收到的是未替换占位符的原始字符串,无法匹配到对应文件。

解决方案

方案1:沿用%格式化语法(和你现有写法习惯一致)

from pixelate import pixelate

for i in range(197):
    # %运算符会将后方的i值代入字符串中的%i位置
    pixelate('/Users/amanrai/Desktop/lady/%i.png' % i, '/Users/amanrai/Desktop/lady/rotate/%i.png' % i, 20)

方案2:f-string写法(Python 3.6+推荐,可读性更高)

from pixelate import pixelate

for i in range(197):
    # 字符串前加f前缀,大括号内直接写变量名即可完成插值
    pixelate(f'/Users/amanrai/Desktop/lady/{i}.png', f'/Users/amanrai/Desktop/lady/rotate/{i}.png', 20)

方案3:使用os.path拼接路径(兼容性更强,避免跨系统路径格式问题)

import os
from pixelate import pixelate

# 提前定义基础目录,后续修改路径更方便
base_input_dir = '/Users/amanrai/Desktop/lady'
base_output_dir = '/Users/amanrai/Desktop/lady/rotate'

for i in range(197):
    input_path = os.path.join(base_input_dir, f'{i}.png')
    output_path = os.path.join(base_output_dir, f'{i}.png')
    pixelate(input_path, output_path, 20)

注意事项

Python内置的range(197)生成的是0到196的整数,如果你的文件名是从1开始编号到197,将range(197)修改为range(1, 198)即可。

内容的提问来源于stack exchange,提问作者Zac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 04:09:03