watchdogでフォルダを監視して変更があった場合printするものなんですが
なぜかon_modifiedの中身が二回表示されます。
以下がソースと結果です。

# -*- coding: utf-8 -*-

from watchdog.events import FileSystemEventHandler
from watchdog.observers import Observer

import os
import time

target_dir = r"対象フォルダのパス"

class ChangeHandler(FileSystemEventHandler):
    def on_modified(self, event):
        filepath = event.src_path
        filename = os.path.basename(filepath)
        print('%sを変更しました' % filename)

if __name__ in '__main__':
    while 1:
        event_handler = ChangeHandler()
        observer = Observer()
        observer.schedule(event_handler, target_dir, recursive=True)
        observer.start()
        try:
            while True:
                time.sleep(0.1)
        except KeyboardInterrupt:
            observer.stop()
        observer.join()

このファイルを実行して、対象フォルダにある例えばtest.txtを編集して保存を1度すると実行中の窓に

test.txtを変更しました
test.txtを変更しました

と、二度printされてしまいます。
どうすればちゃんと編集された回数分の1回だけ出るようになるのでしょうか?
ちなみに下記のようなon_createdは期待通りの動きで

class ChangeHandler(FileSystemEventHandler):
    def on_created(self, event):
        filepath = event.src_path
        filename = os.path.basename(filepath)
        print('%sができました' % filename)

    def on_modified(self, event):
        filepath = event.src_path
        filename = os.path.basename(filepath)
        print('%sを変更しました' % filename)

これで新しいテキストファイルを作ると1度だけ~ができました、と出ます。
でもこの状態で例えばtest.txtをCtrl+D&Dで同じフォルダ内にコピーすると

test - コピー.txtができました
test - コピー.txtを変更しました
test - コピー.txtを変更しました

やはりmodifiedのほうは二回分こう出力されます。
ご指導宜しくお願い致します。

追記:以下環境です。
OS Windows7 64bit
Python 3.7.1
Watchdog 0.9.0
以上です、宜しくお願いします。