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

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

 

Python - upload www stránky

Google       Google       29. 10. 2005       14 275×

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

    Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

    Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

    Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

    Reklama
    Reklama
    Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

    Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

    Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

    Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

    Konference: Mobilní technologie mají velký potenciál pro byznys

    Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

    Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

    Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

    Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

    loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
    Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
    Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý