From 4597685ec81fd92c4f09c3d81a05dea61ecdd95c Mon Sep 17 00:00:00 2001 From: tmeissner Date: Sun, 28 Sep 2014 00:26:11 +0200 Subject: [PATCH] added zipreplace_comp.py as composition example --- python_3_oop/chapter05/zipreplace_comp.py | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 python_3_oop/chapter05/zipreplace_comp.py diff --git a/python_3_oop/chapter05/zipreplace_comp.py b/python_3_oop/chapter05/zipreplace_comp.py new file mode 100644 index 0000000..79d7730 --- /dev/null +++ b/python_3_oop/chapter05/zipreplace_comp.py @@ -0,0 +1,25 @@ +from zipprocessor import ZipProcessorComp +import sys +import os + + + +class ZipReplace: + + def __init__(self, search_string, replace_string): + self.search_string = search_string + self.replace_string = replace_string + + def process(self, zipprocessor): + "perform a search and replace on all files in the temporary directory" + for filename in os.listdir(zipprocessor.temp_directory): + with open(zipprocessor._full_filename(filename)) as file: + contents = file.read() + contents = contents.replace(self.search_string, + self.replace_string) + with open(zipprocessor._full_filename(filename), "w") as file: + file.write(contents) + +if __name__ == "__main__": + zipreplace = ZipReplace(*sys.argv[2:4]) + ZipProcessorComp(sys.argv[1], zipreplace).process_zip() \ No newline at end of file