使用主脚本中的参数循环执行一组Python脚本

阿ext

我有一个子python脚本,它带有一个参数,大约需要一个。运行8分钟。

e.g. python.exe child.py "2018-01-01"

我需要从主脚本执行多次此脚本。我正在考虑使用subprocess.Popen

import os, sys, time, subprocess
for date in ["2018-01-01", "2018-01-02", "2018-01-03", ..., "2018-12-31"]
    p = subprocess.Popen(['python.exe', "child.py", date])
    time.sleep(600)

由于该Popen函数不知道子脚本何时完成执行,因此它仅使用参数来触发子脚本。因此,我必须设置600秒的睡眠时间(比子脚本的大概运行时间更长),以便在上一次运行完成后安全地开始后续运行。

我想知道是否有更有效的方法来处理这种情况。

1994

如果脚本需要同步运行,请考虑使用subprocess更具体地说,该run函数(> = 3.5)。甚至是call函数(<3.5),它与相同,run但仅返回脚本中的代码。两者都阻止调用脚本,直到返回为止。

您的代码将变为:

import shlex
import subprocess

for date in ["2018-01-01", "2018-01-02", "2018-01-03", ..., "2018-12-31"]:
    command = 'python.exe child.py %s' % date
    args = shlex.split(command)
    res = subprocess.run(args)

如果您需要它异步运行,请考虑使用xargs如果您确实需要在python中执行此操作,请使用multiprocessing我们multiprocessing.dummy来执行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

添加并执行一组脚本到 package.json

使用主Python脚本中的子进程并行执行2个单独的python脚本

只有一组 shell 脚本才能执行一个 shell 脚本

Python中一组脚本的配置变量

Shell脚本中的一组库,例如ncurses

使用 bash 脚本删除特定的一组行

如何使用脚本制作与一组 CheckBox 交互的 TagList?

使用C#中的解析参数执行Python脚本

如何在具有不同用户的脚本中使用 for 循环运行一组命令 (su -c)

Crontab在一组脚本中不适用于一个Shell脚本

使用脚本中的参数执行powershell命令

使用Javascript中的参数执行bash脚本

脚本(python,applescript,bash)使用ndpi2tiff自动将一组金字塔形平铺图像转换为一组大tiff?

用于对一组IP执行ping操作并仅在线返回的脚本?

让机器人在 Python 中同时执行一组动作(使用 selenium)

将一组单词作为bash脚本参数传递

Python 3:使用循环在字符串中查找一组字母

如何创建一个Shell脚本来启动3个终端并在每个终端中执行一组命令?

在Python脚本中循环

使用存储在另一个文件中的参数执行 shell 脚本

如何从python脚本中执行python脚本

使用参数中的变量运行 Python 脚本

循环执行python脚本的输出时,bash中的“ echo”问题

重用GraphQL中的一组参数

如何在脚本中的tmux或gnome-terminal内部启动一组程序?

在解释器中执行 python 脚本,带参数

在Python中的一组可选参数中声明一个位置参数

打印一组后,在JasperReports脚本中计算值

批量更新一组Google表格的Apps脚本