Erinevus lehekülje "Python" redaktsioonide vahel

Allikas: Kuutõrvaja
(Stringioperatsioonid)
124. rida: 124. rida:
 
  size = file.write('\xc4\xc3\n')
 
  size = file.write('\xc4\xc3\n')
 
  file.close ()
 
  file.close ()
 +
 +
===PostgreSQL andmebaasi kasutamine===
 +
 +
Psycopg http://initd.org/psycopg/ võimaldab Pythonist kasutada PostgreSQL andmebaasi. Tarkvara paigaldamiseks Debian operatsioonisüsteemis sobib öelda
 +
 +
# apt-get install python-psycopg2
 +
 +
  
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===

Redaktsioon: 24. veebruar 2010, kell 22:32

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 ()

PostgreSQL andmebaasi kasutamine

Psycopg http://initd.org/psycopg/ võimaldab Pythonist kasutada PostgreSQL andmebaasi. Tarkvara paigaldamiseks Debian operatsioonisüsteemis sobib öelda

# apt-get install python-psycopg2


Kasulikud lisamaterjalid