W tym programie nauczysz się łączyć wiadomości e-mail w jedną.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w Pythonie:
- Metody ciągów
- We / wy pliku Python
Gdy chcemy wysłać te same zaproszenia do wielu osób, treść listu się nie zmienia. Należy zmienić tylko nazwę (i być może adres).
Korespondencja seryjna polega na tym. Zamiast pisać każdą wiadomość osobno, mamy szablon treści wiadomości i listę nazw, które łączymy w celu utworzenia wszystkich wiadomości.
Kod źródłowy do scalania wiadomości e-mail
# Python program to mail merger # Names are in the file names.txt # Body of the mail is in body.txt # open names.txt for reading with open("names.txt", 'r', encoding='utf-8') as names_file: # open body.txt for reading with open("body.txt", 'r', encoding='utf-8') as body_file: # read entire content of the body body = body_file.read() # iterate over names for name in names_file: mail = "Hello " + name.strip() + "" + body # write the mails to individual files with open(name.strip()+".txt", 'w', encoding='utf-8') as mail_file: mail_file.write(mail)
W przypadku tego programu wszystkie nazwy zapisaliśmy w oddzielnych wierszach w pliku „names.txt”. Treść znajduje się w pliku „body.txt”.
Otwieramy oba pliki w trybie odczytu i iterujemy po każdej nazwie za pomocą for
pętli. Tworzony jest nowy plik o nazwie „(nazwa) .txt”, gdzie nazwa to imię i nazwisko tej osoby.
Używamy strip()
metody do czyszczenia wiodących i końcowych białych znaków (odczyt linii z pliku odczytuje również znak nowej linii ' n'). Na koniec zapisujemy treść wiadomości do tego pliku za pomocą write()
metody.
Dowiedz się więcej o plikach w Pythonie.