Erinevus lehekülje "Python" redaktsioonide vahel
Allikas: Kuutõrvaja
(→Failioperatsioonid) |
(→Stringioperatsioonid) |
||
| 15. rida: | 15. rida: | ||
parts = tuple(parts) | parts = tuple(parts) | ||
print ('Protokoll: %s, teenuse hostname: %s' % parts) | print ('Protokoll: %s, teenuse hostname: %s' % parts) | ||
| + | |||
| + | kus | ||
| + | |||
| + | * for tsükkel loeb rida haaval sisu | ||
| + | * rida.rstrip() eemaldab rea lõpust reavahetuse märgi | ||
| + | * rida.split(' ') moodustab stringist tühiku kohtadelt listi | ||
| + | * tuple(parts) teisendab listi tupleks | ||
| + | * print esitab tuple parts sisu kasutades formateeringut | ||
===Failioperatsioonid=== | ===Failioperatsioonid=== | ||
Redaktsioon: 24. veebruar 2010, kell 21:36
Sisukord
Sissejuhatus
Python http://www.python.org/ ...
2010 aastal on levinud kasutada kahte erinevat Pyhton keele põlvkonda, sõltuvalt kasutusalast võib see olla oluline, kumba konkreetsel juhul eelistada
- 2.x - pikka aega kasutuses olnud versioon, suhteliselt palju tarkvara töötab sellega
- 3.x - uuem versioon, nt teksti vs binari failide käsitluse osa on oluliselt muutunud
Stringioperatsioonid
for rida in open ('urlid'):
rida = rida.rstrip()
parts = rida.split(' ')
parts = tuple(parts)
print ('Protokoll: %s, teenuse hostname: %s' % parts)
kus
- for tsükkel loeb rida haaval sisu
- rida.rstrip() eemaldab rea lõpust reavahetuse märgi
- rida.split(' ') moodustab stringist tühiku kohtadelt listi
- tuple(parts) teisendab listi tupleks
- print esitab tuple parts sisu kasutades formateeringut
Failioperatsioonid
Tekstifailist lugemiseks sobib kasutada nt sellist järgnevust
for rida in open ('urlid.txt'):
print rida.rstrip()
kus
- rstrip() eemaldab rea lõpust reavahetuse märgi
- lugemine toimub for tsükli abil rida haaval
Tekstifaili kirjutamiseks sobib kasutada nt sellist järgnevust
read=('loomaaed.tartu.ee', 'kuutorvaja.eenet.ee', 'www.eesti.ee')
myfile = open ('urlid','w')
for rida in read:
myfile.write (rida + '\n')
myfile.close()
kus
- read - on tuple element, mis on massiivi moodi konstruktsioon, kuid mille sisu ei saa peale moodustamist muuta
- kirjutamine toimub for tsüki abil rida haaval
HTTP
Skript http päringu vastuse päise elemendi esitamiseks
import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("GET", "/index.html")
r1 = conn.getresponse()
print r1.getheader('last-modified')
Lihtsa HTTP serveri, mis serveerib üle HTTP käesoleva kataloogi sisu, saab käivitada selliselt
$ python -m SimpleHTTPServer 8080 Serving HTTP on 0.0.0.0 port 8080 ...
SMTP
Skript saadab smtp serveri kaudu välja kirja
import smtplib
fromaddr = "From: Priit Kask <priit@loomaaed.tartu.ee>"
toaddrs = "To: Mart Kask <mart@loomaaed.tartu.ee>"
msg = fromaddr + "\n" + toaddrs + "\nSubject: test" + "\nkirja sisu"
server = smtplib.SMTP('192.168.1.250')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Massiiv, for ja try/except/else konstruktsioon
Skript
- kirjeldab massiivi URLID
- käib läbi massiivis URLID toodud hostide /index.html ressursid
- kui ressursi poole ei õnnestu pöörduda püütakse see try/except poolt kinni
import httplib
URLID = ('www.python.org',
'kuutorvaja.eenet.ee',
'seda.pole')
for i in URLID:
try:
conn = httplib.HTTPConnection(i)
conn.request("GET", "/index.html")
except:
print "ei saa avada http://" + i + "/index.html"
else:
r1 = conn.getresponse()
print i + " " + r1.getheader('content-length')
Käivitamisel esitatakse nt selline väljund
$ python for.py www.python.org 16961 kuutorvaja.eenet.ee 267 ei saa avada http://seda.pole/index.html
Unicode
Skript UTF-8 formaadis faili kirjutamiseks (sisuks on Ä ja à tähed)
file = open('utf8data.txt', 'w', encoding='utf-8')
size = file.write('\xc4\xc3\n')
file.close ()
Kasulikud lisamaterjalid
- http://www.python.org/
- Learning Python, 4rd editon (v. 2.6 ja 3.0), Mark Lutz