请写一段python脚本,要求如下: 1.检测某一文件夹及其子文件夹下与5分钟前相比是否有文件新增,如果有,将此文件名打印出来;如果没有,打印-1
时间: 2024-02-20 08:00:20 浏览: 24
好的,首先需要导入两个模块`os`和`time`,其中`os`模块用于访问操作系统功能,`time`模块用于获取当前时间。
然后我们需要定义一个函数`check_folder()`来检测文件夹内是否有新增文件,函数的参数是文件夹的路径。
在函数内部,我们需要获取文件夹内所有文件的路径,并记录时间戳,然后将这些信息存储在一个字典中。接下来,我们需要等待5分钟,然后再次获取文件夹内所有文件的路径,并与之前的字典进行比对,如果发现有新增文件,则将其文件名打印出来,否则打印-1。
下面是完整的代码实现:
```python
import os
import time
def check_folder(folder_path):
files = {}
for dirpath, dirnames, filenames in os.walk(folder_path):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
files[file_path] = os.path.getmtime(file_path)
time.sleep(300) # 等待5分钟
for dirpath, dirnames, filenames in os.walk(folder_path):
for filename in filenames:
file_path = os.path.join(dirpath, filename)
modified_time = os.path.getmtime(file_path)
if file_path not in files or modified_time > files[file_path]:
print(filename)
files[file_path] = modified_time
if not files:
print("-1")
# 测试代码
check_folder("/path/to/folder")
```
需要注意的是,这段代码只能检测新增文件,而不能检测删除文件。如果需要检测删除文件,需要对代码进行相应修改。