Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python脚本,用于在特定时间间隔后连续轮询文件夹,并将新文件复制到其他位置_Python_File_Copy_Polling - Fatal编程技术网

python脚本,用于在特定时间间隔后连续轮询文件夹,并将新文件复制到其他位置

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

我想连续轮询一个文件夹中的任何新文件,比如说每1小时一次,每当它找到一个新文件,它就会复制到一个特定的位置。 我找到了到和到的代码。我如何合并这两个以获得上述所需的结果?
这也可能有帮助

它的周期性特性表明您可以使用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上出现的第一个链接:我想你已经知道了?