Sisällysluettelo
- Ympäristön asetukset
- Paikallisen ympäristön asetukset
- Kuinka saada Python
- Kuinka asentaa Python
- Windowsin asennus
- Unix/Linux asennus
- MAC-asennus
- Polun määrittäminen Pythonille
- Asetuspolku Unix/Linuxille
- Polun asettaminen Windowsille
- Python-ympäristömuuttujat
- Python käynnissä
- Perussyntaksi
- Python-tunnisteet
- Python-lausunto
- Sisennykset Pythonissa
- Kommentit Pythonissa
- Haetaan syötettä
- Näytä lähtö
- Muuttujatyypit
- Arvojen määrittäminen muuttujille
- Python-tietotyypit
- jouset
- Tuples
- Luettelot
- Numerot
- Perusoperaattorit
- Tehtäväoperaattori
- Bittikohtainen operaattori
- Looginen operaattori
- Aritmeettinen operaattori
- Vertailuoperaattori
- Identiteettioperaattori
- Jäsenyysoperaattori
- Päätöksenteko
- Jos lausunto
- tai muuten
- Sisäkkäinen jos
- Jos-elif-toisen-tikkaat
- Pikakirjoitus if-lause
- Lyhyesti jos-else-lause
- Silmukat
- Vaikka Loop
- For Loop
- Sisäkkäiset silmukat
- Loop Control -lauseet
- Jatka lausuntoa
- Katkoilmoitus
- Passilausunto
- Numerot
- Numerotyypin muunnos
- Satunnaislukufunktiot
- Trigonometriset funktiot
- Matemaattiset funktiot
- jouset
- Merkkijonon luominen
- String Erikoisoperaattorit
- Merkkijonojen muotoiluoperaattorit
- Pakohahmot
- Sisäänrakennetut merkkijonomenetelmät
- Tuples
- Arvojen käyttäminen Tuplesissa
- Tuples päivitetään
- Tuplen perusoperaattorit
- Sisäänrakennettu Tuple Functions
- Indeksointi ja viipalointi
- Tuplen poistaminen
- Luettelot
- Arvojen käyttäminen luetteloissa
- Listojen päivittäminen
- Perusluettelon operaattorit
- Sisäänrakennettu luettelo toiminnoista ja menetelmistä
- Indeksointi ja viipalointi
- Poista listat-elementti
- Sanakirja
- Sanakirjan luominen
- Elementtien lisääminen sanakirjaan
- Elementtien poistaminen sanakirjasta
- Python-sanakirjamenetelmät
- Päivämäärä ja aika
- Aika Tuple
- Aika moduuli
- Kalenteri moduuli
- Toiminnot
- Kuinka määritellä funktio
- Toiminnon kutsuminen
- Läpi viitteellä
- Ohita arvo
- Funktioargumentit
- Vaihtuvapituiset argumentit
- Vaaditut argumentit
- Oletusargumentit
- Avainsana-argumentit
- Anonyymit toiminnot
- Moduulit
- Tuo ilmoitus
- Tuontilausunto
- Tuonnista * Lausunto
- Moduulien sijainti
- Locals()- ja globals()-funktiot
- Nimiavaruudet ja laajuus
- dir( ) -funktio
- Reload()-funktio
- Tiedostot I/O
- Tiedoston avaaminen
- Tiedostoobjektin attribuutit
- Tiedoston sulkeminen
- Lausunnon kanssa
- Kirjoitusmenetelmä
- Lukumenetelmä
- Rename()-metodi
- Poista()-menetelmä
- Tiedoston sijainti
- Poikkeukset
- Mikä on poikkeus?
- Poikkeuksen käsittely
- Poikkeuksen esittäminen
- Luettelo vakiopoikkeuksista
- Käyttäjän määrittämät poikkeukset
- Väitteet Pythonissa
- Luokat ja esineet
- Luokkien luominen
- Luokkaobjektit
- Attribuuttien käyttö
- Sisäänrakennetut luokan attribuutit
- Roskakokoelma
- Luokkaperintö
- Ohittavat menetelmät
- Säännölliset lausekkeet
- Match-toiminto
- Hakutoiminto
- Säännöllisten lausekkeiden muokkaajat
- Säännölliset lausekkeet
- Hahmoluokat
- Toistotapaukset
- Ankkurit
- CGI ohjelmointi
- MySQL-tietokannan käyttö
- Verkot
- Mitä ovat pistorasiat?
- Pistorasian moduuli
- Python Internet-moduulit
- Sähköpostin lähettäminen
- HTML-sähköpostin lähettäminen Pythonilla
- Liitteiden lähettäminen sähköpostina
- Monisäikeinen ohjelmointi
- Aloitetaan uusi ketju
- Langoitusmoduuli
- Synkronoidaan säikeitä
- Monisäikeinen prioriteettijono
- XML-käsittely
- Mikä on XML?
- XML Parser -arkkitehtuurit ja API:t
- XML:n jäsentäminen SAX API:illa
- Make_parser -menetelmä
- Jäsennysmenetelmä
- ParseString-menetelmä
- GUI ohjelmointi
- Tkinter-widgetit
- Geometrian hallinta
- Suositellut artikkelit
CGI ohjelmointi
CGI tai Common Gateway Interface on joukko standardeja, jotka määrittelevät, kuinka tietoja vaihdetaan mukautetun komentosarjan ja verkkopalvelimen välillä. NCSA ylläpitää tällä hetkellä CGI-spesifikaatioita.
Nettiselailu
Jos haluat ymmärtää CGI:n käsitteen, tässä on esimerkki. Napsauta hyperlinkkiä selataksesi tiettyä URL-osoitetta tai verkkosivua.
- Selain ottaa yhteyttä verkkopalvelimeen ja pyytää URL-osoitetta.
- Web-palvelin jäsentää URL-osoitteen ja etsii tiedostonimen. Jos se löytää tiedoston, se lähettää sen takaisin selaimeen, muuten se lähettää virheilmoituksen, joka osoittaa, että pyysit väärää tiedostoa.
- Web-selain ottaa vastauksen verkkopalvelimelta ja näyttää joko vastaanotetun tiedoston tai virheilmoituksen.
Vaikka on mahdollista asettaa HTTP-palvelin niin, että aina kun tietyssä hakemistossa olevaa tiedostoa pyydetään, tiedostoa ei lähetetä takaisin; sen sijaan se suoritetaan ohjelmana, ja kaikki ohjelman tuottamat tiedot lähetetään takaisin selaimesi näytettäväksi.
Tämä toiminto tunnetaan nimellä Common Gateway Interface tai CGI, ja suunnitelmat tunnetaan CGI-skripteinä. CGI-ohjelmat voivat olla Python Script, PERL Script, Shell Script, C tai C++ jne.

HTTP-otsikko
Linja Sisältötyyppi:teksti/html on osa HTTP-otsikkoa, joka lähetetään selaimeen sisällön ymmärtämiseksi. Kaikki HTTP-otsikot ovat seuraavassa muodossa
kyllä ei | Otsikko | Kuvaus |
yksi | Sijainti: URL | Palautettava URL-osoite pyydetyn URL-osoitteen sijaan. Voit käyttää kenttää uudelleenohjataksesi pyynnön mihin tahansa tiedostoon. |
kaksi | Sisältötyyppi: | Se on MIME-merkkijono, joka määrittää palautettavan tiedoston muodon. Esimerkiksi on Content-type:text/html |
3 | Viimeksi muokattu: Päivämäärä | Resurssin muutoksen päivämäärä. |
4 | Vanhenee: Päivämäärä | Tiedot mitätöityvät päivämääränä. Selain käyttää tätä päättääkseen, milloin sivu on päivitettävä. |
5 | Set-Cookie: merkkijono | Aseta evästeen läpi kulkeva merkkijono |
6 | Sisällön pituus: N | Tietojen pituus palautetaan. Selain käyttää arvoa raportoidakseen tiedoston arvioidun latausajan. |
CGI-ympäristömuuttujat
CGI-ohjelmilla on pääsy muutamaan ympäristömuuttujaan. Näillä muuttujilla on olennainen rooli mitä tahansa CGI-ohjelmaa kirjoitettaessa.
kyllä ei | Muuttujan nimi | Kuvaus |
yksi | CONTENT_LENGTH | Kyselytietojen pituus. Se on käytettävissä vain POST-pyynnöille. |
kaksi | SISÄLTÖTYYPPI | Sisällön tietotyyppi. Sitä käytetään, kun asiakas lähettää sisältöä palvelimelle. Esimerkiksi tiedostojen lataaminen. |
3 | QUERY_STRING | URL-koodatut tiedot lähetetään GET-menetelmäpyynnön mukana. |
4 | PATH_INFO | Se on polku CGI-skriptille. |
5 | HTTP_COOKIE | Se palauttaa asetetut evästeet arvoparin ja avaimen muodossa. |
6 | ETÄISÄNTÄ | Pyynnön tekevän isännän täysin hyväksytty nimi. Jos tietoja ei ole saatavilla, voidaan käyttää REMOTE_ADDR:tä IR-osoitteen saamiseksi. arvo, joka ilmoittaa tiedoston arvioidun latausajan. |
7 | SCRIPT_FILENAME | Täysi polku CGI-skriptiin. |
8 | REQUEST_METHOD | Menetelmää käytetään pyynnön tekemiseen. Yleisimmät menetelmät ovat POST ja GET. |
9 | PALVELIMEN NIMI | Palvelimen isäntänimi tai IP-osoite |
10 | SERVER_SOFTWARE | Sen ohjelmiston versio ja nimi, jossa palvelin on käynnissä. |
yksitoista | HTTP_USER_AGENT | User-agent request-header sisältää tietoja pyynnön lähettäneestä käyttäjäagentista. Se on verkkoselaimen nimi. |
12 | REMOTE_ADDR | Pyynnön tekee etäisännän IP-osoite. Se on hyödyllinen kirjaamiseen tai todentamiseen. |
13 | SCRIPT_NAME | CGI-komentosarjan nimi. |
GET-menetelmä
GET-menetelmä on oletusmenetelmä tietojen siirtämiseksi selaimesta verkkopalvelimelle, ja se tuottaa merkkijonon, joka näkyy selaimesi sijaintikentässä. Älä koskaan käytä GET-menetelmää, jos sinulla on salasana tai muita arkaluonteisia tietoja. GET-menetelmällä on kokorajoitus: vain 1024 merkkiä voidaan lähettää pyyntömerkkijonossa. GET-menetelmä lähettää tiedot QUERY_STRING-otsikon avulla, ja se on käytettävissä CGI-ohjelmassasi ympäristömuuttujan QUERY_STRING kautta.
SYNTAKSI
|_+_|
OUTPUT

POST-menetelmä
POST on pyyntömenetelmä, jota World Wide Webin käyttämä HTTP tukee. POST-menetelmä pyytää, että verkkopalvelin hyväksyy pyyntösanoman runkoon sisältyvät tiedot. Sitä käytetään tiedoston lataamiseen tai täytetyn verkkolomakkeen lähettämiseen.
SYNTAKSI
|_+_|
Evästeiden käyttö CGI:ssä
HTTP-protokolla on tilaton. Kaupallista verkkosivustoa varten sinun on ylläpidettävä istuntotietoja eri sivuilla.
Joissakin tilanteissa evästeiden käyttö on tehokkain tapa seurata ja muistaa mieltymyksiä, palkkioita, ostoja ja muita tietoja paremman vierailijakokemuksen tai sivuston tilastojen saamiseksi.
Kuinka se toimii?
Palvelin lähettää joitain tietoja selaimelle evästeen muodossa. Selain saattaa hyväksyä evästeen. Jos se hyväksytään, se tallennetaan suorana tekstitietueena kiintolevylle. Nyt kun vierailija saapuu toiselle sivulle, eväste on noudettavissa. Kun se on haettu, palvelimesi muistaa tallennetun.
MySQL-tietokannan käyttö
MySQLdb on käyttöliittymä MySQL-tietokantapalvelimeen yhdistämistä varten Pythonista. Se toteuttaa Python Database API v2.0 ja se on rakennettu MySQL C API:n päälle.
Tietokantataulukon luominen
Kun tietokantayhteys on muodostettu, olet valmis luomaan taulukoita tai tietueita tietokantataulukoihin käyttämällä luodun kursorin suoritustapaa.

INSERT-toiminto
Insert-toimintoa tarvitaan, kun haluat luoda tietueesi tietokantataulukkoon.

LUE Käyttö
READ Toiminta missä tahansa tietokannassa tarkoittaa tietojen hakemista tietokannasta.
Kun tietokantayhteys on muodostettu, olet asetettu tekemään kyselyn tähän tietokantaan. Voit käyttää nouto () tapa hakea yksi tietue tai hae () menetelmä useiden arvojen hakemiseksi tietokantataulukosta.
Päivitä toiminta
UPDATE-toiminto missä tahansa tietokannassa tarkoittaa tietokannassa olevien tietueiden päivittämistä.

POISTA-toiminto
DELETE-toiminto poistaa joitakin tietueita tietokannastasi.

Liiketoimien suorittaminen
Tapahtumat ovat mekanismi, joka varmistaa tietojen johdonmukaisuuden.
COMMIT-toiminto
Commit on toimenpide, joka antaa tietokannalle vihreän signaalin muutosten viimeistelystä, ja tämän toimenpiteen jälkeen muutoksia ei voi peruuttaa.
Esimerkiksi db.commit()
ROLLBACK-toiminto
Jos et halua yhtä tai useampaa muutosta ja haluat palauttaa muutokset kokonaan, sinun tulee käyttää palautustoimintoa. () menetelmä.
Esimerkiksi db.rollback()
Tietokannan yhteyden katkaiseminen
Voit katkaista tietokantayhteyden käyttämällä close()-menetelmää.
Jos yhteys tietokantaan suljetaan, DB peruuttaa kaikki jäljellä olevat tapahtumat. Riippuen kuitenkin mistä tahansa DB:n alemman tason toteutuksen yksityiskohdista, sovellus olisi parempi kutsua commit tai rollback nimenomaisesti.
Käsittelyvirheet
Virheille on monia syitä. Yhteysvirhe, syntaksivirhe suoritetussa SQL-käskyssä, ovat muutamia esimerkkejä
DB API määrittää kussakin tietokantamoduulissa mahdollisesti esiintyvien virheiden määrän. Seuraavassa taulukossa luetellaan poikkeukset.
kyllä ei | Poikkeukset | Kuvaukset |
yksi | Virhe | Se on virheiden perusluokka. Sen pitäisi alaluokka Error. |
kaksi | Interface Error | Sitä käytetään tietokantamoduulin virheisiin, ei itse tietokantaan. Sen tulisi aliluokka Error. |
3 | Varoitus | Sitä käytetään ei-kuolemaan johtaviin ongelmiin. Sen tulee alaluokkaan StandardError. |
4 | DataError | Se on DatabaseErrorin alaluokka, joka viittaa tietojen virheisiin. |
5 | Tietokanta virhe | Sitä käytetään tietokannan virheeseen. Sen pitäisi olla alaluokkavirhe |
6 | Toimintavirhe | DatabaseError-aliluokka viittaa virheisiin, kuten yhteyden katkeamiseen tietokantaan. Virheet ovat Python-komentosarjan hallinnan ulkopuolella. |
7 | Sisäinen virhe | DatabaseErrorin alaluokka viittaa tietokantamoduulin sisäisiin virheisiin, kuten kohdistin ei ole enää aktiivinen. |
8 | NotSupportedError | DatabaseError-aliluokka viittaa yritettäessä kutsua ei-tuetut toiminnot. |
9 | IntegrityError | DatabaseErrorin alaluokka tilanteisiin, jotka vahingoittavat relaatioiden eheyttä, kuten ainutlaatuisuusrajoituksia tai vieraita avaimia. |
10 | Ohjelmointivirhe | DatabaseErrorin alaluokka viittaa virheisiin, kuten virheelliseen taulukon nimeen. |