我写了一个小的
Python Django程序,它解析来自JSON API调用的数据并使用ParsePy将其保存到Parse中.
我有一个python文件收集数据并将其保存到Parse app DB中. Python文件还将一些数据传递到另一个文件中,该文件应将传递的数据保存到不同的Parse应用程序中.
在伪代码中:
File1.py
register('key1','restKey1') file2.class1(passedData) file1.saveData
File2.py
register('key2','restKey2') file2.saveData
当我单独运行文件时,代码完美运行.但是,当我通过第一个文件执行程序时,数据全部保存到第一个Parse应用程序数据库而不是第二个.
解决方法
我想你可以使用这样的模式:
#!/usr/bin/python class SourceInterface(object): def get_data(self): raise NotImplementedError("Subclasses should implement this!") class DestinationInterface(object): def put_data(self,data): raise NotImplementedError("Subclasses should implement this!") class FileSource(SourceInterface): def __init__(self,filename): self.filename = filename def get_data(self): lines = None with open(self.filename,'r') as f: lines = f.readlines() if lines: with open(self.filename,'w') as f: if lines[1:]: f.writelines(lines[1:]) return lines[0] class FileDestination(DestinationInterface): def __init__(self,filename): self.filename = filename def put_data(self,data): print 'put data',data with open(self.filename,'a+') as f: f.write(data) class DataProcessor(object): sources_list = [] destinitions_list = [] def register_source(self,source): self.sources_list.append(source) def register_destinition(self,destinition): self.destinitions_list.append(destinition) def process(self): for source in self.sources_list: data = source.get_data() if data: for destinition in self.destinitions_list: destinition.put_data(data) if __name__ == '__main__': processor = DataProcessor() processor.register_source(FileSource('/tmp/source1.txt')) processor.register_source(FileSource('/tmp/source2.txt')) processor.register_destinition(FileDestination('/tmp/destinition1.txt')) processor.register_destinition(FileDestination('/tmp/destinition2.txt')) processor.process()
只需定义您自己的Source和Destination类
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。