【问题标题】:SImple functions queue in python [closed]python中的简单函数队列[关闭]
【发布时间】:2019-02-27 16:44:11
【问题描述】:

我想在其他函数终止执行后运行一个函数。在此示例中,我希望 live_departure_board()a_live_departures()b_live_departures() 完成运行并连续将数据保存到 JSON 后运行。原因是函数live_departure_board()需要其他两个生成的JSON。

我读到我可以使用queue,但想知道是否有更简单的方法适合我的用例。

他们是这样称呼的:

def get_livedepartures():
    a_live_departures()
    b_live_departures()
    live_departure_board()

【问题讨论】:

  • 你不能在你的python脚本中按顺序调用它们吗?
  • {a,b}_live_departures 是否在单独的线程中运行?
  • 我刚刚添加了有关如何称呼它们的详细信息。它们确实是按顺序排列的,但从日志中我看到 live_departures_board 比其他板先运行。
  • 你描述的效果不是简单的Python。通常,一个语句在下一个语句开始之前完全执行完毕。在a_live_departures 返回之前,b_live_departures 不会被调用,并且在a_live_departures 完成执行之前(通常)不会发生b_live_departures 必须在 live_departure_board 被调用之前返回。我们需要您的 MCVE 来了解您的情况。

标签: python queue


【解决方案1】:

你能做到吗:

a_live_departures()
b_live_departures()
live_departure_board()

据我了解,python 是按顺序做事的。如果您在执行 live_departure_board() 时需要 b_live_departures(),则可以查看线程。

【讨论】:

  • 我也希望如此,但是当我运行它们时,我可以从控制台看到 live_departures_board 在其他人之前触发。其他函数从网络上抓取数据,对其进行处理,然后将其写入 JSON。
  • 将打印语句添加到其他语句中以检查它们是否首先运行。
  • 谢谢 - 出于某种奇怪的原因,我在错误的地方调用它。在所有功能中打印都有帮助。
猜你喜欢
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多