Python - zpracování dat ze souboru cyklem - jak uložit poslední dokončený řádek a pokračovat dále

Python - zpracování dat ze souboru cyklem - jak uložit poslední dokončený řádek a pokračovat dále

Dobrý den,

když iteruji cyklem textový soubor v python skriptu a skript spadne, tak skript pokračuje od začátku (od první řádky) - já bych potřeboval, aby si skript (cyklus) pamatoval na které řádce skončil a z toho místa pokračoval dál ve zpracování. Jak byste to jednoduše řešili? Děkuji



ODPOVĚĎ


Dobrý den,

je možné to udělat jako v příkladu níže.

Python načte soubor emails.txt, kde provádí iterace emailů řádku po řádce.
Zpracovaný řádek ukládá do emails_state.txt .
Při opětovném spuštění pokračuje tam kde skript skončil pomocí podmínky if not line in array_state:


def getEmail(self):
# if exist file
try:
f = open("emails_state.txt")
# create temp file
except IOError:
with open("emails_state.txt", "w") as create_file:
create_file.write('')

# get first and last line
with open("emails_state.txt", "r") as file:
first_line = file.readline()
for last_line in file:
pass

# create array
with open("emails_state.txt", "r") as file:
array_state = file.readlines()

# file loop
fileHandler = open ("emails.txt", "r")
while True:
line = fileHandler.readline()
if not line :
break;
if not line in array_state:
print(line.strip())
with open("emails_state.txt", "a") as es:
es.write(line)
time.sleep(1)

# file close
fileHandler.close()
Show english version

Komentáře

Vaše reakce na Python - zpracování dat ze souboru cyklem - jak uložit poslední dokončený řádek a pokračovat dále

Související obsah

programovani

python

file

loop

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.