私はpythonが初めてです。クラス内のあるメソッドから別のメソッドに値を渡そうとしました。問題について検索しましたが、適切な解決策を得ることができませんでした。私のコードでは、「if」はクラスのメソッド「on_any_event」を呼び出しており、その代わりに「on_any_event」の値を利用する別のメソッド「dropbox_fn」を呼び出す必要があるためです。「dropbox_fn」メソッドがクラスの外にある場合、機能しますか?
コードで説明します。
class MyHandler(FileSystemEventHandler):
def on_any_event(self, event):
srcpath=event.src_path
print (srcpath, 'has been ',event.event_type)
print (datetime.datetime.now())
#print srcpath.split(' ', 12 );
filename=srcpath[12:]
return filename # I tried to call the method. showed error like not callable
def dropbox_fn(self)# Or will it work if this methos is outside the class ?
#this method uses "filename"
if __name__ == "__main__":
path = sys.argv[1] if len(sys.argv) > 1 else '.'
print ("entry")
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
ここでの主な問題は.. イベント パラメータなしで "on_any_event" メソッドを呼び出すことはできません。したがって、値を返すのではなく、「on_any_event」内で「dropbox_fn」を呼び出す方が良い方法です。誰かがこれを手伝ってくれますか?