Megosztás a következőn keresztül:


Ismerkedés a Python windowsos használatával a szkripteléshez és az automatizáláshoz

Az alábbiakban egy részletes útmutatót mutatunk be a fejlesztői környezet beállításához és a Python windowsos fájlrendszer-műveletek szkripteléséhez és automatizálásához való használatának megkezdéséhez.

Megjegyzés:

Ez a cikk bemutatja, hogy a környezete milyen hasznos kódtárakat használhat a Pythonban, amelyek különböző platformokon automatizálhatják a feladatokat, például a fájlrendszerben való keresést, az internet elérését, a fájltípusok elemzését stb. Windows-központú megközelítésből. Windows-specifikus műveletek esetén tekintse meg ctypes, a Python C-kompatibilis külső függvénytárát, winreg, a Windows beállításjegyzék API-ját a Pythonnak kifejlesztő függvényeket, és Python/WinRT, amelyek lehetővé teszik a Windows Futtatókörnyezet API-k pythonból való elérését.

A fejlesztési környezet beállítása

Ha a Pythont fájlrendszerműveleteket végrehajtó szkriptek írására használja, javasoljuk, telepítse a Pythont a Microsoft Store. A Microsoft Store-on keresztül történő telepítés az alapszintű Python3-értelmezőt használja, de kezeli az aktuális felhasználó PATH-beállításainak beállítását (elkerülve a rendszergazdai hozzáférés szükségességét), az automatikus frissítések biztosítása mellett.

Ha Pythont használ webes fejlesztési Windows rendszeren, javasoljuk, hogy a Linux windowsos alrendszerével más beállítást használjon. Útmutatónkban talál egy útmutatót: A Python használatának első lépései webes fejlesztéshez Windows. Ha teljesen új a Pythonban, próbálja ki útmutatónkat: Ismerkedés a Python windowsos használatával kezdőknek. Bizonyos speciális forgatókönyvek esetén (például a Python telepített fájljainak eléréséhez/módosításához, bináris fájlok másolatának készítéséhez vagy a Python DLL-ek közvetlen használatához) érdemes lehet egy adott Python-kiadást közvetlenül python.org letölteni, vagy érdemes lehet telepíteni egy alternatív, például Anaconda, Jython, PyPy, WinPython, IronPython stb. Ezt csak akkor javasoljuk, ha ön egy fejlettebb Python-programozó, akinek konkrét oka van egy alternatív implementáció kiválasztására.

A Python telepítése

A Python telepítése a Microsoft Store használatával:

  1. Nyissa meg a Start menüt (a bal alsó Windows ikont), írja be a "Microsoft Store" kifejezést, és válassza ki a hivatkozást az áruház megnyitásához.

  2. Az áruház megnyitása után válassza Keresés lehetőséget a jobb felső menüben, és írja be a "Python" kifejezést. Válassza ki a Python melyik verzióját szeretné használni az Alkalmazások területen található eredmények közül. Azt javasoljuk, hogy használja a legújabbat, hacsak nincs oka arra, hogy ne (például egy már meglévő projekten használt verzióhoz igazodjon, amelyen dolgozni szeretne). Miután meghatározta, hogy melyik verziót szeretné telepíteni, válassza a lekérése lehetőséget.

  3. Miután a Python befejezte a letöltési és telepítési folyamatot, nyissa meg a Windows PowerShellt a Start menü (a Bal alsó Windows ikon) használatával. A PowerShell megnyitása után írja be a Python --version parancsot annak ellenőrzésére, hogy a Python3 telepítve van-e a számítógépen.

  4. A Python Microsoft Store-telepítése tartalmazza pip, a standard csomagkezelőt. A Pip lehetővé teszi olyan további csomagok telepítését és kezelését, amelyek nem részei a Python standard kódtárának. Annak ellenőrzéséhez, hogy rendelkezik-e pipel a csomagok telepítéséhez és kezeléséhez, írja be a pip --version.

A Visual Studio Code telepítése

Ha a VS Code-ot szövegszerkesztőként/ integrált fejlesztési környezetként (IDE) használja, kihasználhatja IntelliSense (kódkiegészítési támogatás), linting (segít elkerülni a kód hibáinak elhárítását), hibakeresési támogatási (segít megtalálni a hibákat a kódban a futtatás után), Kódrészletek (kis újrafelhasználható kódblokkok sablonjai), és egységtesztelési (a kód interfészének tesztelése különböző típusú bemenetekkel).

Töltse le a WINDOWS VS Code-ot, és kövesse a telepítési utasításokat: https://code.visualstudio.com.

A Microsoft Python-bővítmény telepítése

A VS Code támogatási funkcióinak használatához telepítenie kell a Microsoft Python bővítményt. További információ.

  1. Nyissa meg a VS Code-bővítmények ablakot a ctrl+Shift+X megadásával (vagy a menüben navigáljon bővítmények megtekintése).

  2. A Marketplace felső Keresési bővítmények mezőjébe írja be a következőt: Python.

  3. Keresse meg a Microsoft által készített Python (ms-python.python) bővítményt, és válassza a zöld Telepítés gombot.

Az integrált PowerShell-terminál megnyitása a VS Code-ban

A VS Code tartalmaz egy beépített terminál, amely lehetővé teszi Egy Python-parancssor megnyitását a PowerShell-lel, így zökkenőmentes munkafolyamatot hozhat létre a kódszerkesztő és a parancssor között.

  1. Nyissa meg a terminált a VS Code-ban, válassza a Nézet>Terminállehetőséget, vagy használja a Ctrl+` billentyűparancsot (a backtick karakterrel).

    Megjegyzés:

    Az alapértelmezett terminálnak a PowerShellnek kell lennie, de ha módosítania kell, a Ctrl+Shift+P billentyűkombinációval írja be a parancspalettát. Válassza ki a Terminált: Válassza az Alapértelmezett Shell lehetőséget, és megjelenik a terminálopciók listája, amely tartalmazza a PowerShellt, a Parancssort, a WSL-t stb. Válassza ki a használni kívántat, és nyomja meg a Ctrl+Shift+` (a fordított apostróf használatával) új terminál létrehozásához.

  2. A VS Code-terminálon belül nyissa meg a Pythont a következő beírással: python

  3. Próbálja ki a Python-értelmezőt a következő beírással: print("Hello World"). A Python a "Hello World" utasítást adja vissza.

    Python parancssori eszköz a VS Code-ban

  4. A Pythonból való kilépéshez beírhatja exit(), quit()vagy a Ctrl-Z billentyűkombinációt.

Git telepítése (nem kötelező)

Ha másokkal szeretne együttműködni a Python-kódon, vagy egy nyílt forráskódú webhelyen (például a GitHubon) üzemelteti a projektet, a VS Code támogatja verziókövetést a Git. A VS Code Forrásvezérlés lapja nyomon követi az összes módosítást, és a felhasználói felületbe beépített általános Git-parancsokkal (hozzáadás, véglegesítés, leküldés, lekérés) rendelkezik. Először telepítenie kell a Gitet a Forrás vezérlőpultjának energiaellátásához.

  1. Töltse le és telepítse a Git for Windows programot a git-scm weboldalról .

  2. A telepítővarázsló számos kérdést tesz fel a Git-telepítés beállításaival kapcsolatban. Javasoljuk, hogy használja az összes alapértelmezett beállítást, hacsak nincs konkrét oka a módosításra.

  3. Ha még soha nem dolgozott a Gittel, GitHub-útmutatók segíthetnek az első lépésekben.

Példaszkript a fájlrendszer könyvtárának szerkezetének megjelenítéséhez

A gyakori rendszerfelügyeleti feladatok sok időt is igénybe vehetnek, de Python-szkripttel automatizálhatja ezeket a feladatokat, így azok egyáltalán nem vesznek igénybe időt. A Python például beolvassa a számítógép fájlrendszerének tartalmát, és olyan műveleteket hajthat végre, mint a fájlok és könyvtárak vázlatának nyomtatása, mappák áthelyezése egyik könyvtárból a másikba, vagy több száz fájl átnevezése. Az ilyen feladatok általában több időt is igénybe vehetnek, ha manuálisan hajtja végre őket. Használjon inkább Python-szkriptet!

Kezdjük egy egyszerű szkripttel, amely végigvezet egy könyvtárfán, és megjeleníti a könyvtárstruktúrát.

  1. Nyissa meg a PowerShellt a Start menüvel (a Windows bal alsó ikonja).

  2. Hozzon létre egy könyvtárat a projekthez: mkdir python-scripts, majd nyissa meg a következő könyvtárat: cd python-scripts.

  3. Hozzon létre néhány könyvtárat a példaszkript használatával:

    mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
    
  4. Hozzon létre néhány fájlt ezeken a könyvtárakon belül a szkripttel való használatra:

    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. Hozzon létre egy új Python-fájlt a python-scripts könyvtárban:

    mkdir src
    new-item src\list-directory-contents.py
    
  6. Nyissa meg a projektet a VS Code-ban a következő beírással: code .

  7. A VS Code Fájlkezelő ablakának megnyitásához írja be a Ctrl+Shift+E (vagy a menüben navigáljon Nézet>Explorer) parancsra, és válassza ki az imént létrehozott list-directory-contents.py fájlt. A Microsoft Python-bővítmény automatikusan betölt egy Python-értelmezőt. Láthatja, hogy melyik értelmező lett betöltve a VS Code ablak alján.

    Megjegyzés:

    A Python egy értelmezett nyelv, ami azt jelenti, hogy virtuális gépként működik, és fizikai számítógépet emulál. Különböző típusú Python-értelmezők használhatók: Python 2, Python 3, Anaconda, PyPy stb. A Python-kód futtatásához és a Python IntelliSense beszerzéséhez meg kell adnia a VS Code-nak, hogy melyik értelmezőt használja. Javasoljuk, hogy ragaszkodjon ahhoz az értelmezőhöz, amelyet a VS Code alapértelmezés szerint kiválaszt (esetünkben a Python 3), hacsak nincs konkrét oka valami más kiválasztására. A Python-értelmező módosításához válassza ki a VS Code ablak alján látható kék sávon megjelenő értelmezőt, vagy nyissa meg a Parancskatalógus (Ctrl+Shift+P), és írja be a Python : Értelmező kiválasztásaparancsot. Ekkor megjelenik a jelenleg telepített Python-értelmezők listája. További információ a Python-környezetekkonfigurálásáról.

    Python-értelmező kiválasztása a VS Code-ban

  8. Illessze be a következő kódot a list-directory-contents.py fájlba, majd válassza a mentés lehetőséget ().

    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. Nyissa meg a VS Code integrált terminálját (Ctrl+', a backtick karakterrel), és írja be azt az src könyvtárat, ahová most mentette a Python-szkriptet:

    cd src
    
  10. Futtassa a szkriptet a PowerShellben a következőkkel:

    python3 .\list-directory-contents.py
    

    A következőhöz hasonló kimenetnek kell megjelennie:

    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. A Python használatával kinyomtathatja a fájlrendszer könyvtárkimenetét a saját szövegfájljára úgy, hogy közvetlenül a PowerShell-terminálba írja be ezt a parancsot: python3 list-directory-contents.py > food-directory.txt

Gratulálok! Most írt egy automatizált rendszerfelügyeleti szkriptet, amely beolvassa a létrehozott könyvtárat és fájlokat, és Python használatával jeleníti meg, majd kinyomtatja a könyvtárszerkezetet a saját szövegfájljára.

Megjegyzés:

Ha nem tudja telepíteni a Python 3-at a Microsoft Store-ból, tekintse meg ezt a problémát, egy példát a mintaszkript elérési útjának kezelésére.

Példaszkript egy könyvtár összes fájljának módosítására

Ez a példa az imént létrehozott fájlokat és könyvtárakat használja, és átnevezi az egyes fájlokat úgy, hogy hozzáadja a fájl utolsó módosított dátumát a fájlnév elejéhez.

  1. A Python-szkriptek könyvtár src mappájában hozzon létre egy új Python-fájlt a szkripthez:

    new-item update-filenames.py
    
  2. Nyissa meg a update-filenames.py fájlt, illessze be a következő kódot a fájlba, és mentse:

    Megjegyzés:

    Az os.getmtime időbélyeget ad vissza kullancsokban, ami nem könnyen olvasható. Először szabványos dátum-idő karakterlánccá kell konvertálni.

    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. Tesztelje a update-filenames.py szkriptet a következő futtatásával: python3 update-filenames.py, majd futtassa újra a list-directory-contents.py szkriptet: python3 list-directory-contents.py

  4. A következőhöz hasonló kimenetnek kell megjelennie:

    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. A Python használatával kiírhatja az új fájlrendszer könyvtárneveit a saját szövegfájljába előre illesztett utolsó módosítás idejével ellátva, ha közvetlenül a PowerShell-terminálban adja meg ezt a parancsot: python3 list-directory-contents.py > food-directory-last-modified.txt

Remélem, megtanult néhány szórakoztató dolgot a Python-szkriptek alapvető rendszerfelügyeleti feladatok automatizálásához való használatával kapcsolatban. Természetesen még sokkal több dolgot kell tudni, de reméljük, hogy ez jó kezdést adott. Az alábbiakban további forrásokat osztottunk meg a tanulás folytatásához.

További erőforrások

  • Python Docs: Fájl- és címtárelérési: Python-dokumentáció a fájlrendszerek használatáról és a fájlok tulajdonságainak olvasására szolgáló modulok használatáról, az útvonalak hordozható módon történő manipulálásáról és ideiglenes fájlok létrehozásáról.
  • Learn Python: String_Formatting oktatóanyag: További információ a "%" operátor sztringformázáshoz való használatáról.
  • 10 Python fájlrendszer módszer, amit ismernie kell: Fájlok és mappák os és shutilhasználatával történő manipulálásáról szóló, a Medium platformon megjelent cikk.
  • A Hitchhikers Útmutató a Pythonhoz: Rendszerfelügyeleti: Egy "véleményezett útmutató", amely áttekintéseket és ajánlott eljárásokat kínál a Pythonnal kapcsolatos témakörökben. Ez a szakasz a rendszeradminisztrátori eszközöket és keretrendszereket ismerteti. Ez az útmutató a GitHubon található, így problémákat tehet fel, és közreműködést végezhet.