Dela via


Kom igång med Python i Windows för skript och automatisering

Följande är en steg-för-steg-guide för att konfigurera utvecklarmiljön och komma igång med Python för skriptning och automatisering av filsystemåtgärder i Windows.

Anmärkning

Den här artikeln beskriver hur du konfigurerar din miljö för att använda några av de användbara biblioteken i Python som kan automatisera uppgifter mellan plattformar, till exempel söka i filsystemet, komma åt Internet, parsa filtyper osv., från en Windows-centrerad metod. För Windows-specifika åtgärder kan du kolla in ctypes, ett C-kompatibelt externt funktionsbibliotek för Python, winreg, funktioner som exponerar Windows-register-API:et för Python och Python/WinRT, vilket ger åtkomst till Windows Runtime-API:er från Python.

Konfigurera utvecklingsmiljön

När du använder Python för att skriva skript som utför filsystemåtgärder rekommenderar vi att du installerar Python från Microsoft Store. Installation via Microsoft Store använder den grundläggande Python3-tolken, men hanterar konfigurationen av PATH-inställningarna för den aktuella användaren (vilket undviker behovet av administratörsåtkomst), förutom att tillhandahålla automatiska uppdateringar.

Om du använder Python för webbutveckling i Windows rekommenderar vi en annan installation med hjälp av Windows-undersystemet för Linux. Hitta en genomgång i vår guide: Kom igång med Python för webbutveckling i Windows. Om du är helt ny i Python kan du prova vår guide: Kom igång med Python i Windows för nybörjare. För vissa avancerade scenarier (som att behöva komma åt/ändra Pythons installerade filer, göra kopior av binärfiler eller använda Python-DLL:er direkt) kan du överväga att ladda ned en specifik Python-version direkt från python.org eller överväga att installera ett alternativ, till exempel Anaconda, Jython, PyPy, WinPython, IronPython osv. Vi rekommenderar bara detta om du är en mer avancerad Python-programmerare med en specifik anledning till att välja en alternativ implementering.

Installera Python

Så här installerar du Python med Microsoft Store:

  1. Gå till Start-menyn (längst ned till vänster i Windows-ikonen), skriv "Microsoft Store" och välj länken för att öppna butiken.

  2. När butiken är öppen väljer du Sök i den övre högra menyn och anger "Python". Välj vilken version av Python du vill använda från resultaten under Appar. Vi rekommenderar att du använder den senaste om du inte har en anledning att inte göra det (till exempel att anpassa till den version som används i ett befintligt projekt som du planerar att arbeta med). När du har fastställt vilken version du vill installera väljer du Hämta.

  3. När Python har slutfört nedladdnings- och installationsprocessen öppnar du Windows PowerShell med startmenyn (längst ned till vänster i Windows-ikonen). När PowerShell är öppet anger du Python --version för att bekräfta att Python3 har installerats på datorn.

  4. Microsoft Store-installationen av Python innehåller pip, standardpakethanteraren. Med Pip kan du installera och hantera ytterligare paket som inte ingår i Python-standardbiblioteket. Om du vill bekräfta att du också har pip tillgängligt för att installera och hantera paket anger du pip --version.

Installera Visual Studio Code

Genom att använda VS Code som textredigerare/integrerad utvecklingsmiljö (IDE) kan du dra nytta av IntelliSense (ett kodkompletteringshjälpmedel), Linting (hjälper dig att undvika fel i koden), felsökningsstöd (hjälper dig att hitta fel i koden när du har kört den), kodfragment (mallar för små återanvändbara kodblock) och Enhetstestning (testa kodens gränssnitt med olika typer av indata).

Ladda ned VS Code för Windows och följ installationsanvisningarna: https://code.visualstudio.com.

Installera Microsoft Python-tillägget

Du måste installera Microsoft Python-tillägget för att kunna dra nytta av VS Code-supportfunktionerna. Läs mer.

  1. Öppna VS Code Extensions-fönstret genom att ange Ctrl+Skift+X (eller använd menyn för att navigera till Visa>tillägg).

  2. I den översta rutan Söktillägg i Marketplace anger du: Python.

  3. Leta upp Python (ms-python.python) från Microsofts-tillägg och välj den gröna knappen Installera.

Öppna den integrerade PowerShell-terminalen i VS Code

VS Code innehåller en inbyggd terminal som gör att du kan öppna en Python-kommandorad med PowerShell och upprätta ett sömlöst arbetsflöde mellan kodredigeraren och kommandoraden.

  1. Öppna terminalen i VS Code, välj Visa>terminal eller använd även genvägen Ctrl+' (med hjälp av backtick-tecknet).

    Anmärkning

    Standardterminalen ska vara PowerShell, men om du behöver ändra den använder du Ctrl+Skift+P för att ange kommandopaletten. Ange Terminal: Välj Standardgränssnitt och en lista med terminalalternativ visas som innehåller PowerShell, Kommandotolken, WSL osv. Välj den som du vill använda och ange Ctrl+Skift+ (med hjälp av backticken) för att skapa en ny terminal.

  2. Öppna Python i VS Code-terminalen genom att ange: python

  3. Prova Python-tolken genom att ange: print("Hello World"). Python kommer att returnera instruktionen "Hello World".

    Python-kommandorad i VS Code

  4. Om du vill avsluta Python kan du ange exit(), quit()eller välja Ctrl-Z.

Installera Git (valfritt)

Om du planerar att samarbeta med andra i din Python-kod eller vara värd för projektet på en webbplats med öppen källkod (till exempel GitHub) stöder VS Code versionskontroll med Git. Fliken Källkontroll i VS Code spårar alla dina ändringar och har vanliga Git-kommandon (lägg till, checka in, pusha, hämta) som är inbyggda direkt i användargränssnittet. Du måste installera Git först för att aktivera panelen Källkontroll.

  1. Ladda ned och installera Git för Windows från git-scm-webbplatsen.

  2. En installationsguide ingår som ställer en rad frågor om inställningar för git-installationen. Vi rekommenderar att du använder alla standardinställningar, såvida du inte har en specifik anledning till att ändra något.

  3. Om du aldrig har arbetat med Git tidigare kan GitHub-guider hjälpa dig att komma igång.

Exempelskript för att visa strukturen för filsystemkatalogen

Vanliga systemadministrationsuppgifter kan ta mycket lång tid, men med ett Python-skript kan du automatisera dessa uppgifter så att de inte tar någon tid alls. Python kan till exempel läsa innehållet i datorns filsystem och utföra åtgärder som att skriva ut en disposition av dina filer och kataloger, flytta mappar från en katalog till en annan eller byta namn på hundratals filer. Normalt kan uppgifter som dessa ta upp massor av tid om du skulle utföra dem manuellt. Använd ett Python-skript i stället!

Vi börjar med ett enkelt skript som vägleder ett katalogträd och visar katalogstrukturen.

  1. Öppna PowerShell med startmenyn (windows-ikonen längst ned till vänster).

  2. Skapa en katalog för projektet: mkdir python-scriptsoch öppna sedan katalogen: cd python-scripts.

  3. Skapa några kataloger att använda med vårt exempelskript:

    mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
    
  4. Skapa några filer i dessa kataloger som ska användas med vårt skript:

    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. Skapa en ny Python-fil i katalogen python-scripts:

    mkdir src
    new-item src\list-directory-contents.py
    
  6. Öppna projektet i VS Code genom att ange: code .

  7. Öppna VS Code-utforskaren genom att ange Ctrl+Skift+E (eller använd menyn för att navigera till Visa>utforskaren) och välj den list-directory-contents.py fil som du nyss skapade. Microsoft Python-tillägget läser automatiskt in en Python-tolk. Du kan se vilken tolk som lästes in längst ned i VS Code-fönstret.

    Anmärkning

    Python är ett tolkat språk, vilket innebär att det fungerar som en virtuell dator och emulerar en fysisk dator. Det finns olika typer av Python-tolkar som du kan använda: Python 2, Python 3, Anaconda, PyPy osv. För att kunna köra Python-kod och hämta Python IntelliSense måste du tala om för VS Code vilken tolk som ska användas. Vi rekommenderar att du håller dig till tolken som VS Code väljer som standard (Python 3 i vårt fall) om du inte har en specifik anledning att välja något annat. Om du vill ändra Python-tolken väljer du tolken som visas i det blå fältet längst ned i VS Code-fönstret eller öppnar kommandopaletten (Ctrl+Skift+P) och anger kommandot Python: Välj tolk. Då visas en lista över De Python-tolkar som du för närvarande har installerat. Läs mer om hur du konfigurerar Python-miljöer.

    Välj Python-tolk i VS Code

  8. Klistra in följande kod i filen list-directory-contents.py och välj sedan Spara:

    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. Öppna den integrerade VS Code-terminalen (Ctrl+' med hjälp av backtick-tecknet) och ange katalogen src där du precis sparade Python-skriptet:

    cd src
    
  10. Kör skriptet i PowerShell med:

    python3 .\list-directory-contents.py
    

    Du bör se utdata som ser ut så här:

    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. Använd Python för att skriva ut filsystemkatalogens utdata till den egna textfilen genom att ange det här kommandot direkt i PowerShell-terminalen: python3 list-directory-contents.py > food-directory.txt

Grattis! Du har precis skrivit ett automatiserat systemadministrationsskript som läser katalogen och filerna som du skapade och använder Python för att visa och sedan skriva ut katalogstrukturen till den egna textfilen.

Anmärkning

Om du inte kan installera Python 3 från Microsoft Store, se detta ärende för ett exempel på hur du hanterar sökvägen till detta exempelskript.

Exempelskript för att ändra alla filer i en katalog

I det här exemplet används de filer och kataloger som du nyss skapade och byter namn på var och en av filerna genom att lägga till filens senast ändrade datum i början av filnamnet.

  1. I mappen src i katalogen python-scripts skapar du en ny Python-fil för skriptet:

    new-item update-filenames.py
    
  2. Öppna filen update-filenames.py, klistra in följande kod i filen och spara den:

    Anmärkning

    os.getmtime returnerar en tidsstämpel i tidsenheter, som inte är lättläst. Den måste konverteras till en standard datetime-sträng först.

    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. Testa ditt update-filenames.py skript genom att köra det: python3 update-filenames.py och kör sedan ditt list-directory-contents.py skript igen: python3 list-directory-contents.py

  4. Du bör se utdata som ser ut så här:

    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. Använd Python för att skriva ut de nya filsystemkatalognamnen med den senast ändrade tidsstämpeln som är förberedd för den egna textfilen genom att ange det här kommandot direkt i PowerShell-terminalen: python3 list-directory-contents.py > food-directory-last-modified.txt

Hoppas du har lärt dig några roliga saker om att använda Python-skript för att automatisera grundläggande systemadministrationsuppgifter. Det finns naturligtvis massor av mer att veta, men vi hoppas att detta fick dig att börja på rätt fot. Vi har delat några ytterligare resurser för att fortsätta lära dig nedan.

Ytterligare resurser