Python - upload www stránky
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Python - upload www stránkyPython - upload www stránky

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín

Python - upload www stránky

Google       Google       29. 10. 2005       15 097×

Pokračujeme v našem seriálu o tom, jak Pythonu umí pracovat s webem. Už jsme si ukazovali, jak webovou stránku stáhnout, jak ji vytvořit, a dneska si ukážeme, jak vytvořenou stránku nahrát na web. Jistě každý z vás má svého oblíbeného FTP managera, na kterého nedá dopustit, ale dokážete ho naprogramovat sami? A dovede to Python?

Reklama
Reklama

Upload na web

Pokračujeme v našem seriálu o tom, jak Pythonu umí pracovat s webem. Už jsme si ukazovali, jak webovou stránku stáhnout, jak ji vytvořit, a dneska si ukážeme, jak vytvořenou stránku nahrát na web. Jistě každý z vás má svého oblíbeného FTP managera, na kterého nedá dopustit, ale dokážete ho naprogramovat sami? A dovede to Python?

Programová manipulace s FTP je výhodná, když nahráváte na web stále stejné věci pořád a pořád dokola a chcete to nějak zautomatizovat. FTP manageři pod Windows málokdy podporují práci s příkazovou řádkou, vše je v oknech, a tudíž je malá možnost automatizace ve skriptech a dávkách.


Trocha více teorie

  • File Transfer Protocol - FTP - protokol pro přenos souborů
  • poměrně starý protokol - již v 70. letech existoval téměř ve stejné podobě, jak ho známe dnes
  • koncepce klient-server - někde běží FTP server a klient se k němu připojuje
  • spojení navazuje vždy klient
  • Klient posílá serveru FTP příkazy (FTP commands)

  • FTP příkazy od klienta mají tvar: PŘÍKAZ nebo PŘÍKAZ parametry, kde PŘÍKAZ jsou tři nebo čtyři znaky identifikující konkrétní FTP příkaz
  • Server posílá FTP odpovědi (FTP replies):

  • FTP odpovědi mají tvar: XYZ slovní popis odpovědi, kde XYZ je vždy kód odpovědi složený ze tří číslic. Mohou být také víceřádkové odpovědi.
  • na jeden FTP příkaz může server odpovědět i více FTP odpověďmi (např.: příkaz: 'přenes soubor', odpověď: 'přenos zahájen', [vlastní přenos], odpověď 'přenos dokončen')
  • Důležité FTP příkazy

    USER <username>		přihlášení, uživatelské jméno
    PASS <password>		přihlášení, heslo
    CWD <pathname>		změna pracovního adresáře
    CDUP			změna pracovního adresáře o úrověň výš
    PWD			zjištění pracovního adresáře
    MKD <pathname>		vytvoření adresáře
    RMD <pathname>		zrušení adresáře
    LIST [<pathname>]	download výpisu adresáře
    NLST [<pathname>]	download seznamu jmen souborů v adresáři
    RETR <pathname>		download souboru ze serveru ke klientovi
    STOR <pathname>		upload souboru od klienta do serveru
    PASV			přechod do pasivního módu
    DELE <pathname>		smazání souboru
    QUIT			ukončení komunikace

    A jak to implementuje Python?

    Python má ve standardní distribuci modul ftplib. Je to nízkoúrovňový modul, což značí, že přímo operuje nebo může operovat s FTP příkazy.

    import ftplib
    
    ftp = ftplib.FTP('')                       
    ftp.connect('myweb.wz.cz')      
    ftp.login('user', 'password')

    Po importu vytvoříme instanci FTP a všechny operace budeme nadále provádět "nad" ní, tedy s ní a za ní :-). V další řádce se připojíme ke svému FTP serveru - musíte si samozřejmě myweb.wz.cz změnit na svůj FTP server. No, a pak se zalogujeme pomocí ftp.login - také doporučuji změnit parametry na ty své. Upozorňuji, že na wz (webzdarma) je jméno shodné s ftp adresou - v tomto případě by na místě 'jméno' bylo 'myweb.wz.cz'.

    ftp.cwd('kapka')
    ftp.retrlines('LIST')   
    print dir(ftp)

    Ukázka toho, jak změnit a vypsat adresář. A co vše, jaké všechny metody můžeme s FTP použít.

    soubor=open("i:/myfile.py ", 'rb')
    print ftp.storbinary( "STOR "+ "myfile.py", soubor)

    No a pokusíme přenést jeden soubor na web. Nejdříve si ho musíme otevřít, a pak pomocí příkazu metody storbinary ho přesuneme na web. Všimněte si mezery za STOR - je to proto, že FTP příkaz musí znít: "STOR myfile.py" - a to je ta mezera mezi těmito dvěma slovy.

    ftp.quit() #konec spojeni

    Nezapomeneme po sobě uklidit...


    Další metody

    print ftp.sendcmd(PRIKAZ) - umožňuje poslat jakýkoliv příkaz na FTP server a vytisknout odpověď
    ftp.mkd(jméno adresáře) - vytvoří adresář

    Více najdete ve svém nebo v on-line manuálu k Pythonu.


    Závěr

    Vyzkoušení si pár těchto FTP příkazů může prohloubit a upevnit vaše znalosti o FTP. Přestože to třeba nikdy nebudete potřebovat, slovo FTP už pro vás nebude jen slovem, ale budete znát vnitřní smysl a budete vědět, že to není nic tajemného, co byste nedokázali. Mnoho zdaru!

    ×Odeslání článku na tvůj Kindle

    Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
    Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

    E-mailová adresa (např. novak@kindle.com):

    TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

    2 názory  —  2 nové  
    Hlasování bylo ukončeno    
    0 hlasů
    Google
    (fotka) Pavel KosinaAutor programuje v Pythonu.
    Web    

    Nové články

    Reklama
    Reklama
    Obrázek ke článku NopCommerce – datová vrstva a přístup k datům – 2. díl

    NopCommerce – datová vrstva a přístup k datům – 2. díl

    V minulém článku jsme si představili platformu NopCommerce z globálního pohledu. V dnešním díle se již zaměříme na konkrétní část systému, a to datovou vrstvu. Představíme si základní stavební kameny systému v podobě doménových objektů. Ukážeme si, jakým způsobem rozšířit doménové objekty a jakým způsobem přistupuje NopCommerce k nastavení systému a modulů.

    Obrázek ke článku Seznamte se s open source platformou NopCommerce – 1. díl

    Seznamte se s open source platformou NopCommerce – 1. díl

    Hledáte e-commerce řešení, které si dokážete přizpůsobit podle vašich požadavků? Chcete čistý a srozumitelný kód, se kterým bude radost pracovat? Prozkoumejte s námi možnosti open source projektu NopCommerce. Seriál programování pod NopCommerce vám pomůže překonat první kroky nejistoty a úspěšně zvládnout vývoj pod platformou NopCommerce.

    Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
    Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý