在Python的同一类中从另一个方法调用一个方法

基蒂:

我是python的新手。我试图在类中将值从一种方法传递给另一种方法。我搜索了该问题,但无法获得适当的解决方案。因为在我的代码中,“ if”正在调用类的方法“ on_any_event”,而该方法反过来应该调用我的另一个方法“ dropbox_fn”,该方法利用了“ on_any_event”中的值。如果“ 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”将是更好的方法。有人可以帮忙吗?

错误:

要调用该方法,您需要使用限定函数self.除此之外,如果要传递文件名,请添加filename参数(或所需的其他名称)。

class MyHandler(FileSystemEventHandler):

    def on_any_event(self, event):
        srcpath = event.src_path
        print (srcpath, 'has been ',event.event_type)
        print (datetime.datetime.now())
        filename = srcpath[12:]
        self.dropbox_fn(filename) # <----

    def dropbox_fn(self, filename):  # <-----
        print('In dropbox_fn:', filename)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在python的同一类中的另一个方法中调用一个类的方法

从同一类中的另一个方法调用方法时出错

使用 getattr 从同一类中的另一个方法调用方法

无法从 JAVA 中同一类的另一个方法调用方法

无法在同一类JS的另一个方法中调用方法

无法从同一类中的另一个方法调用一个方法

Mockito-验证一个方法是否在同一类中调用另一个方法

单元测试一个方法调用同一类中的另一个方法

从同一类中的另一个方法调用方法:Python要求哪个参数?

如何根据同一类中另一个方法的输入调用类中的任何方法?

如何检查一个方法是否从同一类调用另一个方法?

如何在C#中的另一个方法中调用同一类中的方法?

测试从同一类调用另一个的静态方法

同一类的另一个父级的调用方法

测试使用同一类中另一个方法的方法

从同一类的静态方法访问另一个方法中的变量

在Typescript中,我如何从同一类中的另一个方法(称为事件处理程序)中调用一个类方法

将一个方法中的变量访问到同一类中的另一个方法

将ArrayList从一个方法传递到同一类中的另一个方法?

如何从同一类 C# 中的另一个方法访问一个方法的变量?

如何模拟正在测试的同一类中的另一个方法?

从同一类中的另一个方法打印值

从同一类中的另一个方法访问变量

在同一个类的另一个方法中调用一个类的方法的对象

如何在同一个类的另一个方法中调用一个方法?

从同一个类中的另一个方法调用一个方法

在同一个类的另一个方法中调用一个方法

从Python 2.7中的另一个类方法调用一个类方法

你可以给一个方法一个属性,该属性是由pygame中同一类中的另一个方法创建的吗?