【发布时间】:2013-11-29 23:18:09
【问题描述】:
我刚开始使用 Python,过去在 VB 中做过很多编程。 Python 似乎更容易使用并且功能更强大。我正在完全放弃 Windows,我已经编写了很多 VB 程序,并希望在 Linux 上使用它们,而不必接触任何涉及 Windows 的东西。
我正在尝试使用我的一个 VB 程序并将其转换为 Python。我想我差不多。
在 VB 中我永远无法找到一种方法是使用 Program 1(一个调用程序)来调用 Program 2 并在其中多次运行。我有一个程序可以搜索网站以查找新的更新材料,所有内容都以数字方式更新(例如,1234567890_1.mp3)。并非每个值都被使用,我必须搜索以查找哪些文件存在,哪些文件不存在。通常,该站点每天会处理大约 100,000 个可能的文件,而每天实际使用的文件只有 2-3 个。我将程序设置为搜索 10,000 个文件,如果它找到一个存在的文件,它会下载它,然后移动到下一个可能的文件并对其进行测试。我会同时运行这个程序 10 次,并将每个程序设置为搜索一个单独的 10,000 个文件块。我一直想设置它,这样我就可以有一个调用程序,让用户设置主块(1234)和辅助块(5),辅助块可能是一个值范围。然后,调用程序将启动 10 个单独的程序(实际上是 6 个,错误 0-9),并将使用 Main Block 和 Secondary Block 作为值来为 10 个 Program 2 中的每一个设置调用。当这 10 个程序中的每一个都被同时运行时,它们将被调用并使用适当的搜索位置,以便它们在网站上搜索以查找前一天添加了哪些新文件。如果我在一个长时间的连续程序中完成所有内容,那么每天只需要 35-45 分钟即可完成,而不是几个小时。
我想我可以使用 Python 使用 Program 1(set) 和 Program 2(read) .txt 文件来做到这一点。我不确定在程序 2 可以读取值并开始使用它之前更改设置值是否会遇到问题。我想我应该在程序中添加一个暂停以确保安全...我不太确定。
还有其他方法可以将值从程序 1 传递到程序 2 来完成我想要完成的任务吗?
【问题讨论】:
-
开始试验,而不是问你是否有问题。可能比您自己尝试要花更长的时间来回答您的问题.. :)
-
我推荐Celery。您的“程序 1”成为完成并启动“程序 2”任务的 celery 任务。您将免费获得调度、异步线程管理和许多其他好处。
标签: python