【问题标题】:Add subprocess calls in a for loop在 for 循环中添加子进程调用
【发布时间】:2019-05-07 18:45:33
【问题描述】:

我希望我的脚本遍历列表的 4 个元素。我在用 子进程调用。我不确定如何修复我必须这样做的代码。

for i in sortedList: 
    subprocess.call(['python','/path/to/script/script.py', i:4]])

i:4 部分是我遇到问题的地方。我希望将列表中的 4 个元素输入到 script.py 中。

这个脚本应该是把图片pic.png 做成灰度图,然后将new.pic.png 输出为黑白图。我最终希望脚本在 4 个不同的图像上运行并输出 4 个新图像(现在是灰度图像)。

【问题讨论】:

  • 只需i 就足够了,还是不够?每次子进程都会使用不同的参数调用脚本
  • 如果您希望列表中的每个元素都有自己的函数调用,请删除:4
  • 只是为了确认:当您说要“迭代列表的 4 个元素”时,您的意思是该列表有四个元素,并且您要逐个迭代其值一?或者您的意思是该列表有四个以上的元素,并且您想一次迭代四个值?
  • @Kevin,我只想遍历列表中的 4 个元素。如果没有回答您的问题,请告诉我!
  • 换一种说法:显示一个具体的 sortedList 值,比如 8 个项目,然后显式显示你想要的对 subprocess.call 的调用,而不使用 for 循环。

标签: python subprocess


【解决方案1】:

您需要做的就是遍历列表。您不在乎(或需要知道)该列表有多长。

for i in sortedList:
    subprocess.call(['python', '/path/to/script/script.py', i, "new.{}".format(i)])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    • 2021-12-31
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    相关资源
    最近更新 更多