首页 > 解决方案 > 与另一个脚本共享从一个脚本中提取的数据

问题描述

我正在尝试相互交流 2 个脚本。出于这个问题的目的,假设我有一个带有表格的网站,并且我有一个从表格中读取的脚本 (script1),并通过每一行获取名称。我的另一个脚本 (script2) 指向不同的网站,并在网络中查找特定的字符串来搜索它。

我想要的是一旦 script1 获得了一个名称,就可以与 script2 进行通信,它会在自己的网站上查找它,无论是否找到它都会返回。

我曾想过使用多处理同时启动两个脚本,但我对如何让它们进行通信有点迷茫。哪种方法是解决这个问题的最佳方法?

标签: python-3.xprocesscommunication

解决方案


首先,我以前没有使用过多处理,所以我可能会忽略那里的某种解决方案。除此之外,还有三个想法,所有这些都可能需要对您的脚本进行一些修改。

  1. 组合脚本。是否有可能使它们在一个程序中同时发挥作用?如果 script2 是 script1 中返回布尔值的函数怎么办?将脚本分开是您可以做出的有效设计选择,但从长远来看,它可能会让您的生活更加艰难。
  2. 使 script2 成为可导入的模块。这将允许 script1 轻松调用 script2 的函数。这是有关如何执行此操作的指南;简而言之,如果 script1.py 和 script2.py 在同一个目录中,import script2就可以了。然后你可以打电话script2.lookup(string_to_search)或任何你想要的。
  3. 使用subprocess.run(). 这将允许您从 python 内部运行 shell 命令并获取其输出。这是我能想到的所有解决方案中最混乱的一个,但值得在这里包括,因为它可能在其他两个选项不实用/不起作用的某些情况下起作用。您需要让 script2 接受输入的命令行参数,然后解析从subprocess.run().

推荐阅读