1

我相信有更好的方法可以做到这一点,但我是新手,所以我这样做是我能弄清楚的唯一方法。问题是,我有一个脚本,它使用来自 RSS 提要的最新帖子更新文本文件(我从你们那里得到了一些帮助来解决这个问题)。但我希望这个脚本是自动化的,所以我做了这个:

import time
import os

seconds = 3600
kjor = 'python vg.py'

time.sleep(seconds)
os.system(kjor)

time.sleep(seconds)
os.system(kjor)

time.sleep(seconds)
os.system(kjor)

我继续向下复制那些 24 倍。我知道这可能可以通过一些循环做得更好(虽然?),但恐怕我在那个领域还没有很多知识(还)。

但是,我的问题如下:如果我让它运行更长的时间,系统会受到任何损害吗?

4

3 回答 3

9

要回答你的问题,不,这不会伤害任何东西。当 time.sleeps 处于休眠状态时,程序将占用很少的处理能力,系统的其余部分可以正常运行。

现在,至于您的循环问题。如果您希望代码永远运行(或直到您停止程序),您想要的代码是

 while True:
    os.system(kjor)
    time.sleep(seconds)

从字面上看,这是无限循环,但在这种情况下,这(可能)是你想要的。

如果您对特定数量的迭代很感兴趣,那么您可以做类似 sunqiang 的回答(在此处重复)

for loop in xrange(240):
    os.system(kjor)
    time.sleep(seconds)

最后,如果您使用的是 Unix 平台(例如 Linux 或 Mac),您应该看看 cron,因为它旨在设置要运行的重复程序和特定时间段。您可以将其设置为每分钟运行一次脚本,并且它会很高兴地这样做直到时间结束(或者您将其删除,以先到者为准)。

于 2009-07-23T02:04:56.453 回答
1

请使用 xrange,不要将代码复制 24 次。

for loop in xrange(240):
    time.sleep(seconds)
    os.system(kjor)

据我所知,它不会损坏您的系统。

于 2009-07-23T01:57:53.310 回答
1

它不会损坏任何系统,而且也很常见。

只需创建一个循环,这样您的应用程序就会在一段时间后慢慢停止运行;或者更好的是,让它检查一个条件,也许监听一个 tcp 端口等待有人要求它退出(然后你需要创建第二个应用程序来发送这个退出消息)。

于 2009-07-23T02:34:25.643 回答