如果可行,但其他方法不会循环是更好的选择? (蟒蛇)

时间:2019-03-09 15:10:09

标签: python if-statement

我已经搜寻了许多问题并尝试了许多建议,但是似乎无法简单地工作。本质上,我想循环运行我的脚本。如果有文件,请打印并重复。如果文件不存在,请睡眠19分钟,然后再次运行脚本。当文件存在时,我能够使“ if”部分正常工作。如果没有文件,则不会发生任何事情。我也完全迷失了它。

import os, shutil
import glob
import time

source = 'C:/File Location/Files'

files = os.listdir(source)

files = glob.iglob(os.path.join(' C:/File Location/Files ', "*.pdf"))


for file in files:
    if os.path.isfile(file):
        time.sleep(30)
        print ("Success")
    else:
        time.sleep(1140)    

1 个答案:

答案 0 :(得分:1)

我想做的最简单的方法是使用schedule。您可以这样使用:

schedule.every(60*19).seconds.do(<your file function>)

while True:
   schedule.run_pending()
   time.sleep(1)

这将每19分钟运行一次文件内容。

如果您实际上希望连续打印文件(除非该文件不存在)(在这种情况下它会休眠19分钟),则可以使用:

while True:
     if os.path.isfile(file):
         time.sleep(30)
         print("Succes")
     else:
         time.sleep(19*60)