Sisukord
- Keskkonna seadistamine
- Kohaliku keskkonna seadistamine
- Kuidas Pythonit hankida
- Kuidas Pythonit installida
- Windowsi installimine
- Unixi / Linuxi installimine
- MAC-i installimine
- Pythoni tee seadistamine
- Unixi/Linuxi tee määramine
- Windowsi tee määramine
- Pythoni keskkonnamuutujad
- Pythoni käivitamine
- Põhiline süntaks
- Pythoni identifikaatorid
- Pythoni avaldus
- Taanded Pythonis
- Kommentaarid Pythonis
- Sisestuse saamine
- Kuva väljund
- Muutujate tüübid
- Muutujatele väärtuste määramine
- Pythoni andmetüübid
- Stringid
- Kordad
- Loendid
- Numbrid
- Põhioperaatorid
- Ülesandeoperaator
- Bitioperaator
- Loogiline operaator
- Aritmeetiline operaator
- Võrdlusoperaator
- Identiteedi operaator
- Liikmelisuse operaator
- Otsuse tegemine
- Kui avaldus
- kui-muidu
- Pesastatud kui
- Kui-elif-muidu-redel
- Lühikiri kui väide
- Lühike kui-muidu avaldus
- Silmused
- Kuigi Loop
- Loopi jaoks
- Pesastatud silmused
- Loop Control avaldused
- Jätka avaldust
- Katkestusavaldus
- Läbimise avaldus
- Numbrid
- Numbritüübi teisendamine
- Juhuslike arvude funktsioonid
- Trigonomeetrilised funktsioonid
- Matemaatilised funktsioonid
- Stringid
- Stringi loomine
- Stringi erioperaatorid
- Stringi vormindamise operaatorid
- Põgenemistegelased
- Sisseehitatud stringimeetodid
- Kordad
- Juurdepääs väärtustele Tuples
- Kordate värskendamine
- Korpuse põhioperaatorid
- Sisseehitatud mitmekordsed funktsioonid
- Indekseerimine ja viilutamine
- Korpuse kustutamine
- Loendid
- Juurdepääs väärtustele loendites
- Nimekirjade värskendamine
- Põhiloendi operaatorid
- Sisseehitatud funktsioonide ja meetodite loend
- Indekseerimine ja viilutamine
- Kustuta loendite element
- Sõnastik
- Sõnastiku koostamine
- Elementide lisamine sõnastikku
- Elementide eemaldamine sõnastikust
- Pythoni sõnastiku meetodid
- Päev ja aeg
- Time Tuple
- Aja moodul
- Kalendri moodul
- Funktsioonid
- Kuidas defineerida funktsiooni
- Funktsiooni kutsumine
- Mööda viide
- Mööda väärtust
- Funktsiooni argumendid
- Muutuva pikkusega argumendid
- Nõutavad argumendid
- Vaikeargumendid
- Märksõna argumendid
- Anonüümsed funktsioonid
- Moodulid
- Impordi avaldus
- Impordi avaldus
- Impordist * avaldus
- Moodulite asukoha määramine
- Funktsioonid locals() ja globals()
- Nimeruumid ja ulatus
- Diri( ) funktsioon
- Reload() funktsioon
- Failid I/O
- Faili avamine
- Failiobjekti atribuudid
- Faili sulgemine
- Koos avaldusega
- Kirjutamise meetod
- Lugemise meetod
- Rename() meetod
- Eemalda () meetod
- Faili asukoht
- Erandid
- Mis on erand?
- Erandi käsitlemine
- Erandi tõstmine
- Standardsete erandite loend
- Kasutaja määratletud erandid
- Väited Pythonis
- Klassid ja objektid
- Klasside loomine
- Klassi objektid
- Juurdepääs atribuutidele
- Sisseehitatud klassi atribuudid
- Prügi kogumine
- Klassipärand
- Alustavad meetodid
- Regulaaravaldised
- Sobitamise funktsioon
- Otsingu funktsioon
- Regulaaravaldise teisendajad
- Regulaaravaldise mustrid
- Tegelaste klassid
- Kordusjuhtumid
- Ankrud
- CGI programmeerimine
- Juurdepääs MySQL andmebaasile
- Võrgud
- Mis on pistikupesad?
- Pistikupesa moodul
- Pythoni Interneti-moodulid
- E-kirja saatmine
- HTML-meili saatmine Pythoni abil
- Manuste saatmine e-kirjana
- Mitme lõimega programmeerimine
- Uue lõime alustamine
- Keermestamise moodul
- Lõimede sünkroonimine
- Mitme lõimega prioriteetne järjekord
- XML-i töötlemine
- Mis on XML?
- XML-i parseri arhitektuurid ja API-d
- XML-i sõelumine SAX API-dega
- Meetod make_parser
- Sõelumismeetod
- ParseString meetod
- GUI programmeerimine
- Tkinteri vidinad
- Geomeetria haldamine
- Soovitatavad artiklid
CGI programmeerimine
CGI ehk Common Gateway Interface on standardite kogum, mis määratleb, kuidas kohandatud skripti ja veebiserveri vahel teavet vahetatakse. NCSA haldab praegu CGI spetsifikatsioone.
Veebisirvimine
Kui soovite mõista CGI kontseptsiooni, siis siin on näide. Konkreetse URL-i või veebilehe sirvimiseks klõpsake hüperlingil.
- Brauser võtab ühendust veebiserveriga ja nõuab URL-i.
- Veebiserver analüüsib URL-i ja otsib failinime. Kui see faili leiab, saadab ta selle tagasi brauserisse, vastasel juhul saadab veateate, mis näitab, et taotlesite vale faili.
- Veebibrauser võtab vastuse veebiserverist ja kuvab vastuvõetud faili või veateate.
Kuigi HTTP-serverit on võimalik seadistada nii, et iga kord, kui konkreetses kataloogis faili küsitakse, seda faili tagasi ei saadeta; selle asemel käivitatakse see programmina ja kõik selle programmi väljundid saadetakse teie brauseri kuvamiseks tagasi.
Seda funktsiooni nimetatakse Common Gateway Interface ehk CGI-ks ja plaane nimetatakse CGI-skriptideks. CGI-programmid võivad olla Pythoni skript, PERL-skript, Shell-skript, C- või C++-programm jne.

HTTP päis
Liin Sisutüüp: text/html on osa HTTP-päisest, mis saadetakse sisu mõistmiseks brauserisse. Kõik HTTP-päised on järgmisel kujul
jah ei | Päis | Kirjeldus |
üks | Asukoht: URL | Tagastatud URL, mitte taotletud URL. Välja saate kasutada päringu ümbersuunamiseks mis tahes faili. |
kaks | Sisu tüüp: | See on MIME string, mis määrab tagastatava faili vormingu. Näiteks on Content-type:text/html |
3 | Viimati muudetud: kuupäev | Ressursi muutmise kuupäev. |
4 | Aegub: Kuupäev | Teave muutub kuupäevaks kehtetuks. Brauser kasutab seda, et otsustada, millal on vaja lehte värskendada. |
5 | Set-Cookie: string | Seadke küpsis, mis on läbinud string |
6 | Sisu pikkus: N | Andmete pikkus tagastatakse. Brauser kasutab väärtust faili hinnangulise allalaadimisaja teatamiseks. |
CGI keskkonnamuutujad
CGI programmidel on juurdepääs vähestele keskkonnamuutujatele. Need muutujad mängivad mis tahes CGI-programmi kirjutamisel olulist rolli.
jah ei | Muutuja nimi | Kirjeldus |
üks | CONTENT_LENGTH | Päringu teabe pikkus. See on saadaval ainult POST-i päringute jaoks. |
kaks | SISU TÜÜP | Sisu andmetüüp. Seda kasutatakse siis, kui klient saadab sisu serverisse. Näiteks failide üleslaadimine. |
3 | QUERY_STRING | URL-kodeeritud teave saadetakse GET-meetodi päringuga. |
4 | PATH_INFO | See on CGI-skripti tee. |
5 | HTTP_COOKIE | See tagastab seatud küpsised väärtuspaari ja võtme kujul. |
6 | REMOTE_HOST | Taotluse esitanud hosti täielikult kvalifitseeritud nimi. Kui teave pole saadaval, saab IR-aadressi hankimiseks kasutada REMOTE_ADDR-i. väärtus faili hinnangulise allalaadimisaja kohta. |
7 | SCRIPT_FILENAME | CGI-skripti täielik tee. |
8 | REQUEST_METHOD | Taotluse esitamiseks kasutatakse meetodit. Levinumad meetodid on POST ja GET. |
9 | SERVER_NAME | Serveri hostinimi või IP-aadress |
10 | SERVER_TARKVARA | Tarkvara versioon ja nimi, kus server töötab. |
üksteist | HTTP_USER_AGENT | Kasutajaagendi päringu päis sisaldab teavet päringu algatanud kasutajaagendi kohta. See on veebibrauseri nimi. |
12 | REMOTE_ADDR | Päringu esitab kaughosti IP-aadress. See on kasulik logimiseks või autentimiseks. |
13 | SCRIPT_NAME | CGI skripti nimi. |
GET meetod
GET-meetod on vaikemeetod teabe edastamiseks brauserist veebiserverisse ja see loob stringi, mis kuvatakse teie brauseri asukohas: kastis. Te ei tohiks kunagi kasutada GET-meetodit, kui teil on parool või muu tundlikku teavet. GET-meetodil on suuruse piirang: päringu stringis saab saata ainult 1024 tähemärki. Meetod GET saadab teavet päise QUERY_STRING abil ja on teie CGI-programmis juurdepääsetav keskkonnamuutuja QUERY_STRING kaudu.
SÜNTAKS
|_+_|
VÄLJUND

POST meetod
POST on päringumeetod, mida toetab HTTP, mida kasutab World Wide Web. POST-meetod nõuab, et veebiserver aktsepteeriks päringusõnumi sisusse lisatud andmeid. Seda kasutatakse faili üleslaadimisel või täidetud veebivormi esitamisel.
SÜNTAKS
|_+_|
Küpsiste kasutamine CGI-s
HTTP-protokoll on olekuta. Kommertsveebisaidi puhul peate säilitama seansi teavet erinevatel lehtedel.
Teatud olukordades on küpsiste kasutamine kõige tõhusam viis eelistuste, komisjonitasude, ostude ja muu teabe jälgimiseks ja meeldejätmiseks, et parandada külastajakogemust või saidi statistikat.
Kuidas see töötab?
Server saadab osa andmeid brauserisse küpsise kujul. Brauser võib küpsise vastu võtta. Kui see aktsepteeritakse, salvestatakse see kõvakettale otsetekstikirjena. Nüüd, kui külastaja saabub teisele lehele, on küpsis allalaadimiseks saadaval. Kui see on alla laaditud, jätab teie server salvestatu meelde.
Juurdepääs MySQL andmebaasile
MySQLdb on liides Pythonist MySQL andmebaasiserveriga ühenduse loomiseks. See rakendab Python Andmebaasi API v2.0 ja on üles ehitatud MySQL C API peale.
Andmebaasi tabeli loomine
Kui andmebaasiühendus on loodud, olete valmis andmebaasi tabelitesse tabeleid või kirjeid looma, kasutades loodud kursori täitmismeetodit.

INSERT-operatsioon
Sisestamisoperatsioon on vajalik, kui soovite luua oma kirjed andmebaasi tabelisse.

LOE Operatsioon
LUGEGE Töötamine mis tahes andmebaasis tähendab teabe hankimist andmebaasist.
Kui andmebaasiühendus on loodud, olete seadistatud tegema sellesse andmebaasi päringu. Saate kasutada toomine() meetod ühe kirje toomiseks või tõmbama () meetod mitme väärtuse toomiseks andmebaasi tabelist.
Värskendusoperatsioon
Operatsioon UPDATE mis tahes andmebaasis tähendab andmebaasis saadaolevate kirjete värskendamist.

Kustutusoperatsioon
Toiming DELETE kustutab teie andmebaasist mõned kirjed.

Tehingute sooritamine
Tehingud on mehhanism, mis tagab andmete järjepidevuse.
COMMIT operatsioon
Commit on toiming, mis annab andmebaasile rohelise signaali muudatuste lõpetamiseks ja pärast seda toimingut ei saa muudatusi tagasi pöörata.
Näiteks db.commit()
TAGASI TOIMING
Kui te ei soovi üht või mitut muudatust ja soovite need muudatused täielikult ennistada, peaksite kasutama tagasipööramist () meetod.
Näiteks db.rollback()
Andmebaasi lahtiühendamine
Andmebaasiühenduse katkestamiseks peaksite kasutama close() meetodit.
Kui ühendus andmebaasiga suletakse, tühistab DB kõik pooleliolevad tehingud. Kuid olenevalt DB madalama taseme juurutamise üksikasjadest oleks rakendus parem selgesõnaliselt sidumise või tagasipööramise kutsumiseks.
Käsitsemisvead
Vigadel on palju põhjuseid. Ühenduse tõrge või süntaksiviga käivitatud SQL-lauses on mõned näited
DB API määrab igas andmebaasimoodulis esineda võivate vigade arvu. Järgmises tabelis on loetletud erandid.
jah ei | Erandid | Kirjeldused |
üks | Viga | See on vigade baasklass. See peaks alamklass Error. |
kaks | Liidese viga | Seda kasutatakse vigade korral andmebaasimoodulis, mitte andmebaasis endas. See peaks alamklassi Error. |
3 | Hoiatus | Seda kasutatakse mittefataalsete probleemide korral. See peaks alamklassi StandardError. |
4 | DataError | See on DatabaseErrori alamklass, mis viitab andmetes esinevatele vigadele. |
5 | Andmebaasi viga | Seda kasutatakse andmebaasi vea jaoks. See peaks alamklassi viga |
6 | Operational Error | DatabaseErrori alamklass viitab sellistele vigadele nagu andmebaasiga ühenduse katkemine. Vead on väljaspool Pythoni skripti kontrolli. |
7 | Sisemine viga | DatabaseErrori alamklass viitab andmebaasimooduli sisemistele vigadele, näiteks kursor ei ole enam aktiivne. |
8 | NotSupportedError | DatabaseErrori alamklass viitab toetamata funktsioonidele helistamise katsele. |
9 | Terviklikkuse viga | DatabaseErrori alamklass olukordade jaoks, mis kahjustavad relatsioonilist terviklikkust, näiteks unikaalsuspiirangud või võõrvõtmed. |
10 | Programmeerimisviga | DatabaseErrori alamklass viitab sellistele vigadele nagu vigane tabeli nimi. |