Sdílet prostřednictvím


Začínáme používat Python ve Windows pro skriptování a automatizaci

Následuje podrobný průvodce pro nastavení vývojového prostředí a zahájení práce s Pythonem pro skriptování a automatizaci operací systému souborů ve Windows.

Poznámka:

Tento článek popisuje nastavení prostředí tak, aby používalo některé z užitečných knihoven v Pythonu, které můžou automatizovat úlohy napříč platformami, jako je prohledávání systému souborů, přístup k internetu, analýza typů souborů atd., z přístupu zaměřeného na Windows. V případě operací specifických pro Windows si projděte ctypes, knihovnu cizích funkcí pro Python kompatibilní s jazykem C, winreg, která zpřístupňuje rozhraní API registru Windows pro Python, a Python/WinRT, což umožňuje přístup k rozhraním API Windows Runtime z Pythonu.

Nastavení vývojového prostředí

Při psaní skriptů, které provádějí operace systému souborů pomocí Pythonu, doporučujeme nainstalovat Python z Microsoft Storu. Instalace prostřednictvím Microsoft Storu používá základní interpret Python3, ale kromě poskytování automatických aktualizací zpracovává nastavení PATH pro aktuálního uživatele (vyhněte se nutnosti přístupu správce).

Pokud používáte Python pro vývoj pro web ve Windows, doporučujeme použít jiný instalační program s využitím subsystému Windows pro Linux. Projděte si názorný postup v naší příručce: Začínáme používat Python pro vývoj webů ve Windows. Pokud s Pythonem začínáte, vyzkoušejte si naši příručku: Začínáme používat Python ve Windows pro začátečníky. V některých pokročilých scénářích (jako je potřeba přistupovat k nainstalovaným nebo upravovat nainstalované soubory Pythonu, vytvářet kopie binárních souborů nebo přímo používat knihovny DLL Pythonu), můžete zvážit možnost stažení konkrétní verze Pythonu přímo z python.org nebo zvážit instalaci alternativního, jako je Anaconda, Jython, PyPy, WinPython, IronPython atd. Doporučujeme to jenom v případě, že jste pokročilejší programátor v Pythonu s konkrétním důvodem pro volbu alternativní implementace.

Instalace Pythonu

Instalace Pythonu pomocí Microsoft Storu:

  1. Přejděte do nabídky Start (ikona Windows v levém dolním rohu), zadejte "Microsoft Store", výběrem odkazu otevřete obchod.

  2. Po otevření obchodu vyberte Hledat z pravého horního menu a zadejte "Python". V části Aplikace vyberte, kterou verzi Pythonu chcete použít. Doporučujeme použít nejnovější, pokud nemáte důvod ne (například sladění s verzí používanou u již existujícího projektu, na který plánujete pracovat). Jakmile určíte verzi, kterou chcete nainstalovat, vyberte Získat.

  3. Jakmile Python dokončí proces stahování a instalace, otevřete Windows PowerShell pomocí nabídky Start (ikona Windows v levém dolním rohu). Po otevření PowerShellu zadáním potvrďte Python --version , že je na vašem počítači nainstalovaný Python3.

  4. Instalace Pythonu v Microsoft Storu zahrnuje pip, standardního správce balíčků. Pip umožňuje instalovat a spravovat další balíčky, které nejsou součástí standardní knihovny Pythonu. Pokud chcete ověřit, že máte k dispozici také pip pro instalaci a správu balíčků, zadejte pip --version.

Nainstalujte Visual Studio Code

Použitím VS Code jako textového editoru nebo integrovaného vývojového prostředí (IDE) můžete využít IntelliSense (pomoc při dokončování kódu), lintování (pomáhá vyhnout se chybám v kódu), podporu ladění (pomáhá najít chyby v kódu po spuštění), fragmenty kódu (šablony pro malé opakovaně použitelné bloky kódu). a testování jednotek (testování rozhraní kódu s různými typy vstupu).

Stáhněte si VS Code pro Windows a postupujte podle pokynů k instalaci: https://code.visualstudio.com.

Instalace rozšíření Microsoft Pythonu

Abyste mohli využívat funkce podpory VS Code, budete muset nainstalovat rozšíření Microsoft Pythonu. Další informace.

  1. Otevřete okno rozšíření VS Code zadáním Ctrl+Shift+X (nebo pomocí nabídky přejděte na Zobrazení>Rozšíření).

  2. Do horního pole Hledat rozšíření na Marketplace zadejte: Python.

  3. Najděte rozšíření Python (ms-python.python) od Microsoftu a vyberte zelené tlačítko Nainstalovat.

Otevření integrovaného terminálu PowerShellu ve VS Code

VS Code obsahuje integrovaný terminál, který umožňuje otevřít příkazový řádek pro Python pomocí PowerShellu, a vytváří tak bezproblémový pracovní postup mezi editorem kódu a příkazovým řádkem.

  1. Otevřete terminál ve VS Code, vyberte Zobrazit>Terminálnebo případně použijte klávesovou zkratku Ctrl+` (pomocí znaku backtick).

    Poznámka:

    Výchozí terminál by měl být PowerShell, ale pokud ho potřebujete změnit, zadejte paletu příkazů pomocí kombinace kláves Ctrl+Shift+P . Zadejte Terminál: Vyberte výchozí prostředí a zobrazí se seznam možností terminálu obsahující PowerShell, Command Prompt, WSL atd. Vyberte tu, kterou chcete použít, a zadejte Ctrl+Shift+` (pomocí apostrofu) a vytvořte nový terminál.

  2. V terminálu VS Code otevřete Python zadáním: python

  3. Vyzkoušejte interpret Pythonu zadáním: print("Hello World"). Python vrátí váš výraz "Hello World".

    příkazová řádka Pythonu v nástroji VS Code

  4. Pokud chcete Python ukončit, můžete zadat exit(), quit()nebo vybrat Ctrl-Z.

Instalace Gitu (volitelné)

Pokud plánujete spolupracovat s ostatními na kódu Pythonu nebo hostovat projekt na opensourcové stránce (jako je GitHub), VS Code podporuje správu verzí pomocí Gitu. Karta Správa zdrojového kódu ve VS Code sleduje všechny změny a obsahuje běžné příkazy Gitu (přidání, potvrzení, vložení, vyžádání) integrované přímo do uživatelského rozhraní. Nejprve je potřeba nainstalovat Git, abyste mohli zapnout panel Správy zdrojového kódu.

  1. Stáhněte a nainstalujte Git pro Windows na webu git-scm .

  2. Instalační průvodce je součástí balíčku a položí vám řadu otázek ohledně nastavení vaší instalace Gitu. Doporučujeme použít všechna výchozí nastavení, pokud nemáte konkrétní důvod, proč něco změnit.

  3. Pokud jste s Gitem ještě nikdy nepracovali, Průvodci GitHubem vám můžou pomoct začít.

Ukázkový skript pro zobrazení struktury adresáře systému souborů

Běžné úlohy správy systému můžou trvat hodně času, ale pomocí skriptu Pythonu můžete tyto úlohy automatizovat tak, aby vůbec nezabírají čas. Python může například číst obsah systému souborů vašeho počítače a provádět operace, jako je tisk osnovy souborů a adresářů, přesouvání složek z jednoho adresáře do jiného nebo přejmenování stovek souborů. Za normálních okolností by úkoly podobné těmto úkolům mohly trvat delší dobu, pokud byste je provedli ručně. Místo toho použijte skript Pythonu.

Začněme jednoduchým skriptem, který prochází strom adresářů a zobrazí jejich strukturu.

  1. Otevřete PowerShell pomocí nabídky Start (ikona Windows vlevo dole).

  2. Vytvořte adresář pro váš projekt: mkdir python-scriptsa otevřete tento adresář: cd python-scripts.

  3. Vytvořte několik adresářů pro použití s ukázkovým skriptem:

    mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
    
  4. Vytvořte v těchto adresářích několik souborů, které se mají použít s naším skriptem:

    new-item food\fruits\banana.txt, food\fruits\strawberry.txt, food\fruits\blueberry.txt, food\fruits\apples\honeycrisp.txt, food\fruits\oranges\mandarin.txt, food\vegetables\carrot.txt
    
  5. Vytvořte nový soubor Pythonu v adresáři python-scripts:

    mkdir src
    new-item src\list-directory-contents.py
    
  6. Otevřete projekt ve VS Code zadáním: code .

  7. Otevřete okno Průzkumníka souborů VS Code tak, že zadáte Ctrl+Shift+E (nebo pomocí nabídky přejdete doPrůzkumníka>) a vyberete list-directory-contents.py soubor, který jste právě vytvořili. Rozšíření Microsoft Pythonu automaticky načte interpret Pythonu. Ve spodní části okna VS Code můžete vidět, který interpret byl načten.

    Poznámka:

    Python je interpretovaný jazyk, což znamená, že funguje jako virtuální počítač a emuluje fyzický počítač. Existují různé typy interpretů Pythonu, které můžete použít: Python 2, Python 3, Anaconda, PyPy atd. Pokud chcete spustit kód Pythonu a získat Python IntelliSense, musíte říct VS Code, který interpret se má použít. Doporučujeme držet se interpretu, který VS Code ve výchozím nastavení zvolí (Python 3 v našem případě), pokud nemáte konkrétní důvod pro výběr něčeho jiného. Pokud chcete změnit interpret Pythonu, vyberte interpret aktuálně zobrazený v modrém pruhu v dolní části okna editoru VS Code nebo otevřete paletu příkazů (Ctrl+Shift+P) a zadejte příkaz Python: Select Interpret. Zobrazí se seznam interpretů Pythonu, které jste aktuálně nainstalovali. Další informace o konfiguraci prostředí Pythonu.

    Výběr interpreta Pythonu v VS Code

  8. Do souboru list-directory-contents.py vložte následující kód a vyberte uložit:

    import os
    
    root = os.path.join('..', 'food')
    for directory, subdir_list, file_list in os.walk(root):
        print('Directory:', directory)
        for name in subdir_list:
            print('Subdirectory:', name)
        for name in file_list:
            print('File:', name)
        print()
    
  9. Otevřete integrovaný terminál VS Code (Ctrl+' pomocí znaku backtick) a zadejte adresář src, do kterého jste právě uložili skript Pythonu:

    cd src
    
  10. Spusťte skript v PowerShellu pomocí:

    python3 .\list-directory-contents.py
    

    Měl by se zobrazit výstup, který vypadá takto:

    Directory: ..\food
    Subdirectory: fruits
    Subdirectory: vegetables
    
    Directory: ..\food\fruits
    Subdirectory: apples
    Subdirectory: oranges
    File: banana.txt
    File: blueberry.txt
    File: strawberry.txt
    
    Directory: ..\food\fruits\apples
    File: honeycrisp.txt
    
    Directory: ..\food\fruits\oranges
    File: mandarin.txt
    
    Directory: ..\food\vegetables
    File: carrot.txt
    
  11. Pomocí Pythonu můžete výstup adresáře systému souborů vytisknout do vlastního textového souboru zadáním tohoto příkazu přímo do terminálu PowerShellu: python3 list-directory-contents.py > food-directory.txt

Gratulujeme! Právě jste napsali skript pro správu automatizovaných systémů, který čte adresář a soubory, které jste vytvořili, a pomocí Pythonu zobrazíte a pak vytisknete adresářovou strukturu do vlastního textového souboru.

Poznámka:

Pokud se vám nedaří nainstalovat Python 3 z Microsoft Storu, podívejte se na zmíněný problém pro příklad, jak zpracovat cesty pro tento ukázkový skript.

Ukázkový skript pro úpravu všech souborů v adresáři

Tento příklad používá soubory a adresáře, které jste právě vytvořili, přejmenováním jednotlivých souborů přidáním data poslední změny souboru na začátek názvu souboru.

  1. Ve složce src v adresáři python-scripts vytvořte nový soubor Pythonu pro váš skript:

    new-item update-filenames.py
    
  2. Otevřete soubor update-filenames.py, vložte do něj následující kód a uložte ho:

    Poznámka:

    Funkce os.getmtime vrátí časové razítko ve formátu "ticks", což není snadno čitelné. Nejprve se musí převést na standardní řetězec s datumem a časem.

    import datetime
    import os
    
    root = os.path.join('..', 'food')
    for directory, subdir_list, file_list in os.walk(root):
        for name in file_list:
            source_name = os.path.join(directory, name)
            timestamp = os.path.getmtime(source_name)
            modified_date = str(datetime.datetime.fromtimestamp(timestamp)).replace(':', '.')
            target_name = os.path.join(directory, f'{modified_date}_{name}')
    
            print(f'Renaming: {source_name} to: {target_name}')
    
            os.rename(source_name, target_name)
    
  3. Otestujte update-filenames.py skript spuštěním: python3 update-filenames.py a pak znovu spusťte skript list-directory-contents.py: python3 list-directory-contents.py

  4. Měl by se zobrazit výstup, který vypadá takto:

    Renaming: ..\food\fruits\banana.txt to: ..\food\fruits\2019-07-18 12.24.46.385185_banana.txt
    Renaming: ..\food\fruits\blueberry.txt to: ..\food\fruits\2019-07-18 12.24.46.391170_blueberry.txt
    Renaming: ..\food\fruits\strawberry.txt to: ..\food\fruits\2019-07-18 12.24.46.389174_strawberry.txt
    Renaming: ..\food\fruits\apples\honeycrisp.txt to: ..\food\fruits\apples\2019-07-18 12.24.46.395160_honeycrisp.txt
    Renaming: ..\food\fruits\oranges\mandarin.txt to: ..\food\fruits\oranges\2019-07-18 12.24.46.398151_mandarin.txt
    Renaming: ..\food\vegetables\carrot.txt to: ..\food\vegetables\2019-07-18 12.24.46.402496_carrot.txt
    
    PS C:\src\python-scripting\src> python3 .\list-directory-contents.py
    ..\food\
    Directory: ..\food
    Subdirectory: fruits
    Subdirectory: vegetables
    
    Directory: ..\food\fruits
    Subdirectory: apples
    Subdirectory: oranges
    File: 2019-07-18 12.24.46.385185_banana.txt
    File: 2019-07-18 12.24.46.389174_strawberry.txt
    File: 2019-07-18 12.24.46.391170_blueberry.txt
    
    Directory: ..\food\fruits\apples
    File: 2019-07-18 12.24.46.395160_honeycrisp.txt
    
    Directory: ..\food\fruits\oranges
    File: 2019-07-18 12.24.46.398151_mandarin.txt
    
    Directory: ..\food\vegetables
    File: 2019-07-18 12.24.46.402496_carrot.txt
    
    
  5. Pomocí Pythonu můžete vytisknout nové názvy adresářů systému souborů s předvyplněným časovým razítkem naposledy upraveným do vlastního textového souboru zadáním tohoto příkazu přímo do terminálu PowerShellu: python3 list-directory-contents.py > food-directory-last-modified.txt

Doufám, že jste se naučili několik zábavných věcí o používání skriptů Pythonu pro automatizaci úloh správy základních systémů. Samozřejmě je tu spousta toho, co se můžete dozvědět, ale doufáme, že jste měli dobrý start. Nasdíleli jsme několik dalších zdrojů informací, abychom mohli pokračovat ve studiu níže.

Dodatečné zdroje