Ebben a programban megtanulja egyesíteni a leveleket.
A példa megértéséhez ismernie kell a következő Python programozási témákat:
- Vonós módszerek
- Python fájl I / O
Amikor ugyanazokat a meghívókat szeretnénk elküldeni sok embernek, a levél törzse nem változik. Csak a nevet (és talán a címet) kell megváltoztatni.
A levelek egyesítése ennek a folyamata. Ahelyett, hogy minden egyes levelet külön írnánk, van egy sablon a levelek törzséhez és egy névsor, amelyet egyesítünk az összes levél kialakításához.
Forráskód a levelek egyesítéséhez
# 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)
Ehhez a programhoz az összes nevet külön sorokba írtuk a "names.txt" fájlba. A törzs a "body.txt" fájlban található.
Mindkét fájlt olvasási módban nyitjuk meg, és for
hurok segítségével iteráljuk az egyes neveket . Új fájl jön létre "(név) .txt" névvel, ahol a név az adott személy neve.
Az általunk használt strip()
módszer, hogy tisztítsák meg a kezdő és záró szóközöket el (olvasás egy sort a fájl is szól az új sor „ n” karakterrel). Végül ebbe a fájlba írjuk a levél tartalmát a write()
módszerrel.
További információ a Python fájljairól.