如何在Python中检索rx(反应)管道中的可观察集?

如何在Python中检索rx(反应)管道中的可观察集?,python,system.reactive,Python,System.reactive,我使用rx从很少的来源创建模拟加载 rx.from_list(files).pipe( ops.map(lambda file: self._dataflow()), ops.subscribe_on(pool_scheduler) ).subscribe(on_next=lambda file: print(file), on_error=print, on_completed=lambda

我使用rx从很少的来源创建模拟加载

rx.from_list(files).pipe(
        ops.map(lambda file: self._dataflow()),
        ops.subscribe_on(pool_scheduler)
    ).subscribe(on_next=lambda file: print(file),
                on_error=print,
                on_completed=lambda: print("PROCESS done!"))

我希望我的
map
函数返回作为
\u dataflow()
函数返回类型的可观察对象。如果我只使用
\u dataflow()
而不是
ops.map(lambda文件:self.\u dataflow())
它工作得很好,但是,我想使用一些条件,对于
文件中的任何
文件
我会选择不同的函数,比如
\u dataflow()
。如何解决此问题?

如果我很了解您,您最接近的操作员选择:

list=rx.from_list(["set1_file1","set1_file2","set2_file1","set2_file2"])

rx.merge(list.pipe(ops.filter(lambda x:"set1" in x),ops.map(lambda x:x+" from list1 printed")),list.pipe(ops.filter(lambda x:"set2" in x),ops.map(lambda x:x+" from list2 printed"))).subscribe(lambda x:print(x))

用所需的映射函数替换lambda。

这正是我一直在寻找的。非常感谢。