ich habe einen code geschrieben, mit dem sich eine große textdatei (3GB) auslesen und in eine Datenbank abspeichern läßt (läuft).
nun würde ich gern den code im hintergrund laufen lassen können, damit ich während dessen (dauer ca. 1,5 tage!) das programm auch anderweitig
nutzen kann.
für den anfang habe ich mir dazu erst einmal einen kleinen code aus dem netz besorgt, der einen text aus einer textdatei (source_filename) ausliest und in eine andere datei kopiert (target_filename), besorgt und etwas abgeändert.
Code: Alles auswählen
import threading
from Queue import Queue
source_filename = "source.txt"
target_filename = "target.txt"
worker_queue = Queue()
finished = object()
def read():
with open(source_filename) as source:
for line in source:
queue = Queue()
queue.put(line)
worker_queue.put(queue)
worker_queue.put(finished)
with open(target_filename, 'w') as target:
for output in iter(worker_queue.get, finished):
target.write(output.get())
thread = threading.Thread(target = read)
thread.start()