I have a simple task. A particular function needs to be run for a large number of files. This task can be easily parallelized.
Here is the working code:
# filelist is the directory containing two file, a.txt and b.txt. # a.txt is the first file, b.xt is the second file # I pass a file that lits the names of the two files to the main program from concurrent.futures import ProcessPoolExecutor, as_completed from pathlib import Path import sys def translate(filename): print(filename) f = open(filename, "r") g = open(filename + ".x", , "w") for line in f: g.write(line) def main(path_to_file_with_list): futures =  with ProcessPoolExecutor(max_workers=8) as executor: for filename in Path(path_to_file_with_list).open(): executor.submit(translate, "filelist/" + filename) for future in as_completed(futures): future.result() if __name__ == "__main__": main(sys.argv)
However, no new files are created, i.e. the folder doesn't contain the a.txt.x and b.txt.x files.
What is wrong with the above code and how can i make it work?