python-3.x - 与另一个脚本共享从一个脚本中提取的数据
问题描述
我正在尝试相互交流 2 个脚本。出于这个问题的目的,假设我有一个带有表格的网站,并且我有一个从表格中读取的脚本 (script1),并通过每一行获取名称。我的另一个脚本 (script2) 指向不同的网站,并在网络中查找特定的字符串来搜索它。
我想要的是一旦 script1 获得了一个名称,就可以与 script2 进行通信,它会在自己的网站上查找它,无论是否找到它都会返回。
我曾想过使用多处理同时启动两个脚本,但我对如何让它们进行通信有点迷茫。哪种方法是解决这个问题的最佳方法?
解决方案
首先,我以前没有使用过多处理,所以我可能会忽略那里的某种解决方案。除此之外,还有三个想法,所有这些都可能需要对您的脚本进行一些修改。
- 组合脚本。是否有可能使它们在一个程序中同时发挥作用?如果 script2 是 script1 中返回布尔值的函数怎么办?将脚本分开是您可以做出的有效设计选择,但从长远来看,它可能会让您的生活更加艰难。
- 使 script2 成为可导入的模块。这将允许 script1 轻松调用 script2 的函数。这是有关如何执行此操作的指南;简而言之,如果 script1.py 和 script2.py 在同一个目录中,
import script2
就可以了。然后你可以打电话script2.lookup(string_to_search)
或任何你想要的。 - 使用
subprocess.run()
. 这将允许您从 python 内部运行 shell 命令并获取其输出。这是我能想到的所有解决方案中最混乱的一个,但值得在这里包括,因为它可能在其他两个选项不实用/不起作用的某些情况下起作用。您需要让 script2 接受输入的命令行参数,然后解析从subprocess.run()
.
推荐阅读
- python - 如何将图像存储在python中的文件夹中
- sql - SQL MIN() 函数不适用于 bigint 值
- python - 如何将 numpy 转换为二进制(大小 8 位)
- java - 如何遍历地图
> 在jsp中使用struts标签库? - sql - 错误:列“foo”的类型与 UNPIVOT 列表中指定的其他列的类型冲突
- c# - SendAsync 和 SocketAsyncEventArgs 使用固定滴答率正确使用
- c - 在 C 中反转十六进制数的程序
- ios - 如何启用扫描功能:extendedScanAndConnect
- r - 我如何获得这样的二十一 <
>而不喜欢< > < > - c# - 如何以特定用户身份运行 .Net Core 进程?