python – 将数据保存到两个单独的Parse应用程序中
发布时间:2020-12-20 13:50:31 所属栏目:Python 来源:网络整理
导读:我写了一个小的 Python Django程序,它解析来自JSON API调用的数据并使用ParsePy将其保存到Parse中. 我有一个python文件收集数据并将其保存到Parse app DB中. Python文件还将一些数据传递到另一个文件中,该文件应将传递的数据保存到不同的Parse应用程序中. 在
我写了一个小的
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类 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |