PYTHON如何检测文件夹内文件有没有生成,如果没有生成一直等待他生成再进入循环
时间: 2024-12-25 22:25:54 浏览: 4
如果你想在Python中持续监视文件夹内的新文件并等待其生成,可以结合`os`模块和`time.sleep()`函数,创建一个无限循环。这里有一个基本示例,使用`watchdog`库,它专门用于处理这样的事件监听任务:
首先,确保你已经安装了`watchdog`库,如果没有,可以通过pip安装:
```bash
pip install watchdog
```
然后,使用`watchdog.observers.polling.PollingObserver`和`watchdog.events.FileSystemEventHandler`,像这样编写代码:
```python
from watchdog.observers import PollingObserver
from watchdog.events import FileSystemEventHandler
import time
class FileHandler(FileSystemEventHandler):
def on_modified(self, event):
if event.src_path.endswith("your_file_name.txt"): # 调整为你关注的文件名
print(f"The file '{event.src_path}' has been created.")
break # 文件生成后跳出循环
# 替换下面的路径为你需要监视的文件夹
file_folder = '/path/to/your/folder'
event_handler = FileHandler()
observer = PollingObserver()
observer.schedule(event_handler, file_folder, recursive=True)
try:
observer.start()
while True:
time.sleep(1) # 每秒检查一次
except KeyboardInterrupt:
observer.stop()
observer.join()
```
当你运行这段代码,程序会在指定的文件夹下持续检查,一旦你的目标文件生成,就会打印出消息并退出循环。
阅读全文