python脚本,用于在特定时间间隔后连续轮询文件夹,并将新文件复制到其他位置
我想连续轮询一个文件夹中的任何新文件,比如说每1小时一次,每当它找到一个新文件,它就会复制到一个特定的位置。 我找到了到和到的代码。我如何合并这两个以获得上述所需的结果?python脚本,用于在特定时间间隔后连续轮询文件夹,并将新文件复制到其他位置,python,file,copy,polling,Python,File,Copy,Polling,我想连续轮询一个文件夹中的任何新文件,比如说每1小时一次,每当它找到一个新文件,它就会复制到一个特定的位置。 我找到了到和到的代码。我如何合并这两个以获得上述所需的结果? 这也可能有帮助它的周期性特性表明您可以使用cron作业。您可以设置cron作业以每小时运行一次python脚本。然后是脚本来处理文件的复制。这是如果您在Unix计算机上 crontab -e // this will open your crontab file, then add 0 * * * * /path/to/you
这也可能有帮助它的周期性特性表明您可以使用cron作业。您可以设置cron作业以每小时运行一次python脚本。然后是脚本来处理文件的复制。这是如果您在Unix计算机上
crontab -e // this will open your crontab file, then add
0 * * * * /path/to/your/script.py
上面的每小时将运行0分钟它的周期性特性表明您可以使用cron作业。您可以设置cron作业以每小时运行一次python脚本。然后是脚本来处理文件的复制。这是如果您在Unix计算机上
crontab -e // this will open your crontab file, then add
0 * * * * /path/to/your/script.py
对于轮询,最简单的解决方案是
time.sleep(n)
,它睡眠n
秒。您的代码如下所示,然后:
import time.sleep as sleep
import sys
try:
while True:
# code to find the latest file
# code to copy it to another location
sleep(3600)
except KeyboardInterrupt:
print("Quitting the program.")
except:
print("Unexpected error: "+sys.exc_info()[0])
raise
(因为这个循环可以永远运行,所以你肯定应该将它包装在一个
try
/块中,除了
块以捕获键盘中断和其他错误之外。)如果你只想在*nix平台上,Cron作业当然是一个非常好的选择,但它提供了平台独立性。对于轮询,最简单的解决方案是time.sleep(n)
,它睡眠n
秒。您的代码如下所示,然后:
import time.sleep as sleep
import sys
try:
while True:
# code to find the latest file
# code to copy it to another location
sleep(3600)
except KeyboardInterrupt:
print("Quitting the program.")
except:
print("Unexpected error: "+sys.exc_info()[0])
raise
(因为这个循环可以永远运行,所以您肯定应该将它包装在
try
/块中,以捕获键盘中断和其他错误除外。)当然,如果您只想在*nix平台上运行,Cron作业是一个非常好的选择,但这提供了平台独立性。如果您想在同一脚本中结合更多任务,则睡眠不是一个选项,在这种情况下,您可以这样做:
import time
interval = 3600
lasttime = time.time()
# This is supposed to run repeatedly inside your main loop
now = time.time()
if ((lasttime - now)>interval):
lasttime = now
doTask()
如果您想在同一脚本中结合更多任务,则睡眠不是一个选项,在这种情况下,您可以这样做:
import time
interval = 3600
lasttime = time.time()
# This is supposed to run repeatedly inside your main loop
now = time.time()
if ((lasttime - now)>interval):
lasttime = now
doTask()
你看过吗?请指定您的目标操作系统。您看过吗?请指定您的目标操作系统。我没有UNIX计算机。我正在使用任务调度程序在Windows7上进行尝试,但没有成功。批处理脚本中嵌入的python脚本未运行。如果我手动单击bat文件,它会运行,但通过任务调度器,它不会运行。有什么解决方案吗?我没有使用Windows任务调度器,但这里是Google上出现的第一个链接:我想你已经知道了?我没有UNIX机器。我正在使用任务调度程序在Windows7上进行尝试,但没有成功。批处理脚本中嵌入的python脚本未运行。如果我手动单击bat文件,它会运行,但通过任务调度器,它不会运行。有什么解决方案吗?我还没有使用Windows任务调度程序,但下面是Google上出现的第一个链接:我想你已经知道了?