下面是通过FileBrowser将文件添加到目录的事件的问题。加载单个文件会产生一堆事件:
我认为消息的数量取决于上传zip文件的时间。我不知道如何用watchdog来解决它,下面是代码:
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import logging
class Watcher:
DIRECTORY_TO_WATCH = "/input"
def __init__(self):
self.observer = Observer()
def run(self):
event_handler = DataHandler()
self.observer.schedule(event_handler, self.DIRECTORY_TO_WATCH, recursive=False)
self.observer.start()
try:
while True:
time.sleep(5000)
except:
self.observer.stop()
print("Error")
self.observer.join()
class DataHandler(FileSystemEventHandler):
@staticmethod
def on_any_event(event):
if event.is_directory:
return None
elif event.event_type == "created":
print(f"Received created event {event.src_path}")
elif event.event_type == "modified":
print(f"Received modified event {event.src_path}")
if __name__ == "__main__":
w = Watcher()
w.run()
如果只想为同一文件打印一个事件,可以保存上次修改的路径,仅在新路径不同时打印消息:
class DataHandler(FileSystemEventHandler):
last_path_modified = ""
@staticmethod
def on_any_event(event):
if event.is_directory:
return None
elif event.event_type == "created":
print(f"Received created event {event.src_path}")
elif event.event_type == "modified":
if event.src_path != self.last_path_modified:
print(f"Received modified event {event.src_path}")
self.last_path_modified = event.src_path
当然,您可以调整这段代码,使其与您想要应用的逻辑相匹配,如果它被标记了x次,则可以再次打印它,或者跟踪第一条消息以来的时间,如果距离上一条消息已超过x秒/分钟,则再次打印它。
我正在用python编写一个CSV文件,使用以下行: 不幸的是,输出显示了一个无用的列,如下所示: 如何才能摆脱这个无用的第一纵队?
如何将内存中的zipfile写入文件?
问题内容: 我必须阅读tomcat日志文件,并在一段时间(例如:一个小时)后再次读取该文件(仅针对新添加的内容),因此我创建了RandomAccessFile来记录我完成的最后一个位置并使用BufferedReader.readLine()方法。 但是,我发现有时我无法读取文件的整行。 例如,tomcat正在尝试编写以下内容(仅作为示例): 192.168.0.0本地主机/index.html .
我正在尝试将文件上传到我的服务器,然后将该文件发送到Zendesk。Zendesk文档显示了如何: 这很好用。我现在必须用Guzzle(版本6)重写这个。我正在使用Symfony 2.7: 文件正在上传,但当我下载它时,它的内容中也会包含一些元数据(破坏了其他一些文件类型)。我想我没有正确上传,因为卷发的另一种方式很好。 我不知道为什么这些数据也作为文件的一部分发送(我不想这样做),或者是否可以为
但应用程序仍然允许上传任何MIME类型的文件。哪里有问题?另外,限制maxFiles也不起作用--它允许我上传无限多个文件。
我创建了一个Java游戏,当游戏结束时,执行一个方法,告诉用户输入他/她的名字,然后他们的分数将保存在playscores中。txt文档。这很好用。然而,我想要的不仅仅是这份文件中一个人的分数。我想要它,这样每个玩游戏的名字和分数将保存在这个文件中。非常感谢您的帮助。 这是我的gameComplete方法代码: 我尝试过不同的东西,比如Objectoutputstream,但不幸的是,我不知道该怎