Udostępnij za pośrednictwem


Rozpoczynanie pracy z językiem Python w systemie Windows na potrzeby skryptów i automatyzacji

Poniżej przedstawiono przewodnik krok po kroku dotyczący konfigurowania środowiska deweloperskiego i rozpoczynania pracy z językiem Python na potrzeby skryptów i automatyzowania operacji systemu plików w systemie Windows.

Uwaga / Notatka

W tym artykule omówiono konfigurowanie środowiska w celu korzystania z niektórych przydatnych bibliotek w języku Python, które mogą automatyzować zadania na różnych platformach, takie jak wyszukiwanie systemu plików, uzyskiwanie dostępu do Internetu, analizowanie typów plików itp., za pomocą podejścia w centrum systemu Windows. W przypadku operacji specyficznych dla systemu Windows zapoznaj się z ctypes, biblioteką funkcji obcych zgodną z językiem C dla języka Python, winreg, funkcjami uwidaczniającymi interfejs API rejestru systemu Windows w języku Python oraz Python/WinRT, umożliwia dostęp do interfejsów API środowiska uruchomieniowego systemu Windows z poziomu języka Python.

Konfigurowanie środowiska projektowego

W przypadku używania języka Python do pisania skryptów wykonujących operacje systemu plików zalecamy zainstalowanie języka Python ze sklepu Microsoft Store. Instalacja za pośrednictwem sklepu Microsoft Store korzysta z podstawowego interpretera języka Python3, ale obsługuje konfigurację ustawień ŚCIEŻKi dla bieżącego użytkownika (unikając konieczności dostępu administratora) oprócz udostępniania aktualizacji automatycznych.

Jeśli używasz języka Python do tworzenia aplikacji internetowych w systemie Windows, zalecamy inną konfigurację przy użyciu podsystemu Windows dla systemu Linux. Przewodnik znajdziesz w naszym przewodniku: Rozpoczynanie pracy z językiem Python na potrzeby tworzenia aplikacji internetowych w systemie Windows. Jeśli dopiero zaczynasz korzystać z języka Python, wypróbuj nasz przewodnik: Wprowadzenie do korzystania z języka Python w systemie Windows dla początkujących. W przypadku niektórych zaawansowanych scenariuszy (takich jak potrzeba uzyskania dostępu/zmodyfikowania zainstalowanych plików języka Python, tworzenia kopii plików binarnych lub bezpośredniego używania bibliotek DLL języka Python) warto rozważyć pobranie konkretnej wersji języka Python bezpośrednio z python.org lub rozważyć zainstalowanie alternatywy, takiej jak Anaconda, Jython, PyPy, WinPython, IronPython itp. Zalecamy to tylko wtedy, gdy jesteś bardziej zaawansowanym programistą języka Python z określonym powodem wyboru alternatywnej implementacji.

Instalowanie języka Python

Aby zainstalować język Python przy użyciu sklepu Microsoft Store:

  1. Przejdź do menu Start (ikona w lewym dolnym rogu systemu Windows), wpisz "Microsoft Store", wybierz link, aby otworzyć sklep.

  2. Po otwarciu sklepu wybierz Wyszukaj z menu w prawym górnym rogu i wpisz "Python". Wybierz wersję języka Python, której chcesz użyć z wyników w obszarze Aplikacje. Zalecamy użycie najnowszych, chyba że masz powód, aby nie (np. dopasowanie do wersji używanej w istniejącym projekcie, nad którym planujesz pracować). Po ustaleniu, która wersja ma zostać zainstalowana, wybierz pozycję Pobierz.

  3. Po zakończeniu procesu pobierania i instalacji języka Python otwórz program Windows PowerShell przy użyciu menu Start (ikona w lewym dolnym rogu systemu Windows). Po otwarciu programu PowerShell wprowadź polecenie Python --version , aby potwierdzić, że na maszynie zainstalowano środowisko Python3.

  4. Instalacja Pythona ze sklepu Microsoft Store obejmuje pip, który jest standardowym menedżerem pakietów. Narzędzie umożliwia instalowanie dodatkowych pakietów, które nie są częścią standardowej biblioteki języka Python i zarządzanie nimi. Aby potwierdzić, że masz również dostęp do narzędzia pip do instalowania i zarządzania pakietami, wprowadź pip --version.

Instalowanie programu Visual Studio Code

Korzystając z programu VS Code jako edytora tekstu/ zintegrowanego środowiska programistycznego (IDE), możesz skorzystać z IntelliSense (pomoc dotycząca uzupełniania kodu), Linting (pomaga uniknąć błędów w kodzie), Debugowanie (pomaga znaleźć błędy w kodzie po uruchomieniu), Fragmenty kodu (szablony dla małych bloków kodu wielokrotnego użytku), i Testy jednostkowe (testowanie interfejsu kodu przy użyciu różnych typów danych wejściowych).

Pobierz program VS Code dla systemu Windows i postępuj zgodnie z instrukcjami instalacji: https://code.visualstudio.com.

Instalowanie rozszerzenia Microsoft Python

Aby korzystać z funkcji obsługi programu VS Code, należy zainstalować rozszerzenie Microsoft Python. Dowiedz się więcej.

  1. Otwórz okno Rozszerzenia programu VS Code, wprowadzając Ctrl+Shift+X (lub użyj menu, aby przejść do pozycji Wyświetl>rozszerzenia).

  2. W górnym polu Szukaj rozszerzeń w witrynie Marketplace wprowadź: Python.

  3. Znajdź rozszerzenie Python (ms-python.python) firmy Microsoft i wybierz zielony przycisk Zainstaluj.

Otwieranie zintegrowanego terminalu programu PowerShell w programie VS Code

Program VS Code zawiera wbudowany terminal , który umożliwia otwarcie wiersza polecenia języka Python za pomocą programu PowerShell, ustanowienie bezproblemowego przepływu pracy między edytorem kodu i wierszem polecenia.

  1. Otwórz terminal w programie VS Code, wybierz pozycję View>Terminal, lub alternatywnie użyj skrótu Ctrl+` (przy użyciu znaku backtick).

    Uwaga / Notatka

    Domyślnym terminalem powinien być program PowerShell, ale jeśli musisz go zmienić, naciśnij Ctrl+Shift+P , aby wprowadzić paletę poleceń. Wprowadź Terminal: wybierz pozycję Domyślna powłoka, a lista opcji terminalu będzie zawierać program PowerShell, wiersz polecenia, program WSL itp. Wybierz ten, którego chcesz użyć, i wprowadź Ctrl+Shift+' (za pomocą backtick), aby utworzyć nowy terminal.

  2. W terminalu programu VS Code otwórz język Python, wprowadzając następujące polecenie: python

  3. Wypróbuj interpreter języka Python, wprowadzając polecenie: print("Hello World"). Język Python zwróci twoje oświadczenie „Hello World”.

    wiersz poleceń Pythona w programie VS Code

  4. Aby zakończyć pracę z językiem Python, możesz wprowadzić ciąg exit(), quit()lub wybrać Ctrl-Z.

Instalowanie narzędzia Git (opcjonalnie)

Jeśli planujesz współpracę z innymi osobami w kodzie języka Python lub hostujesz projekt w witrynie typu open source (takiej jak GitHub), program VS Code obsługuje kontrolę wersji za pomocą usługi Git. Karta Kontrola źródła w programie VS Code śledzi wszystkie zmiany i ma typowe polecenia Git (dodawanie, zatwierdzanie, wypychanie, ściąganie) wbudowane bezpośrednio w interfejs użytkownika. Najpierw należy zainstalować narzędzie Git, aby włączyć panel kontroli źródła.

  1. Pobierz i zainstaluj narzędzie Git dla systemu Windows z witryny internetowej git-scm.

  2. Zawarty jest kreator instalacji, który zada ci szereg pytań dotyczących ustawień twojej instalacji Git. Zalecamy używanie wszystkich ustawień domyślnych, chyba że masz określony powód zmiany.

  3. Jeśli nigdy wcześniej nie pracowałeś z Gitem, Przewodniki GitHub mogą pomóc ci zacząć.

Przykładowy skrypt służąy do wyświetlania struktury katalogu systemu plików

Typowe zadania administracyjne systemu mogą zająć dużo czasu, ale za pomocą skryptu języka Python można zautomatyzować te zadania, aby w ogóle nie miały czasu. Na przykład język Python może odczytywać zawartość systemu plików komputera i wykonywać operacje, takie jak drukowanie konspektu plików i katalogów, przenoszenie folderów z jednego katalogu do innego lub zmiana nazwy setek plików. Zwykle zadania takie jak te mogą zająć dużo czasu, jeśli trzeba je wykonać ręcznie. Zamiast tego użyj skryptu języka Python!

Zacznijmy od prostego skryptu, który przejdzie przez drzewo katalogów i wyświetli strukturę drzewiastą katalogów.

  1. Otwórz program PowerShell przy użyciu menu startowego (w lewym dolnym rogu ikony systemu Windows).

  2. Utwórz katalog dla projektu: mkdir python-scripts, a następnie otwórz ten katalog: cd python-scripts.

  3. Utwórz kilka katalogów do użycia z naszym przykładowym skryptem:

    mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
    
  4. Utwórz kilka plików w tych katalogach do użycia z naszym skryptem:

    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. Utwórz nowy plik python w katalogu python-scripts:

    mkdir src
    new-item src\list-directory-contents.py
    
  6. Otwórz projekt w programie VS Code, wprowadzając następujące polecenie: code .

  7. Otwórz okno Eksploratora plików programu VS Code, wprowadzając Ctrl+Shift+E (lub użyj menu, aby przejść do Eksploratora widoków>) i wybierz właśnie utworzony plik list-directory-contents.py. Rozszerzenie Microsoft Python automatycznie załaduje interpreter języka Python. Możesz zobaczyć, który interpreter został załadowany w dolnej części okna programu VS Code.

    Uwaga / Notatka

    Język Python jest językiem interpretowanym, co oznacza, że działa jako maszyna wirtualna, emulując komputer fizyczny. Istnieją różne typy interpreterów języka Python, których można użyć: Python 2, Python 3, Anaconda, PyPy itp. Aby uruchomić kod języka Python i pobrać funkcję IntelliSense języka Python, musisz poinformować program VS Code, który interpreter ma być używany. Zalecamy trzymanie się interpretera wybranego domyślnie przez program VS Code (język Python 3 w naszym przypadku), chyba że masz konkretny powód wyboru czegoś innego. Aby zmienić interpreter języka Python, wybierz interpreter aktualnie wyświetlany na niebieskim pasku w dolnej części okna programu VS Code lub otwórz paletę poleceń (Ctrl+Shift+P) i wprowadź polecenie Python: Wybierz interpreter. Spowoduje to wyświetlenie listy aktualnie zainstalowanych interpreterów języka Python. Dowiedz się więcej o konfigurowaniu środowisk języka Python.

    Wybieranie interpretera języka Python w programie VS Code

  8. Wklej następujący kod do pliku list-directory-contents.py, a następnie wybierz zapisz.

    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. Otwórz zintegrowany terminal programu VS Code (Ctrl+', używając znaku backtick) i wprowadź katalog src, w którym właśnie zapisano skrypt języka Python:

    cd src
    
  10. Uruchom skrypt w programie PowerShell za pomocą polecenia:

    python3 .\list-directory-contents.py
    

    Powinny zostać wyświetlone dane wyjściowe, które wyglądają następująco:

    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. Użyj języka Python, aby zapisać wynik katalogu systemu plików do pliku tekstowego, wprowadzając to polecenie bezpośrednio w terminalu programu PowerShell: python3 list-directory-contents.py > food-directory.txt

Gratulacje! Właśnie został napisany skrypt administracyjny zautomatyzowanego systemu, który odczytuje utworzony katalog i pliki, a następnie używa języka Python do wyświetlania, a następnie drukowania struktury katalogów do własnego pliku tekstowego.

Uwaga / Notatka

Jeśli nie możesz zainstalować Python 3 ze sklepu Microsoft Store, zapoznaj się z tą kwestią , aby zobaczyć przykład zarządzania ścieżką dla tego przykładowego skryptu.

Przykładowy skrypt do modyfikowania wszystkich plików w katalogu

W tym przykładzie użyto właśnie utworzonych plików i katalogów, zmieniając nazwy każdego z plików przez dodanie daty ostatniej modyfikacji pliku na początku nazwy pliku.

  1. Wewnątrz folderu src w katalogu python-scripts utwórz nowy plik języka Python dla skryptu:

    new-item update-filenames.py
    
  2. Otwórz plik update-filenames.py, wklej następujący kod do pliku i zapisz go:

    Uwaga / Notatka

    os.getmtime zwraca znacznik czasu w jednostkach ticków, który nie jest łatwo zrozumiały. Najpierw należy przekonwertować go na standardowy ciąg daty/godziny.

    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. Przetestuj skrypt update-filenames.py, uruchamiając go: python3 update-filenames.py a następnie ponownie uruchom skrypt list-directory-contents.py: python3 list-directory-contents.py

  4. Powinny zostać wyświetlone dane wyjściowe, które wyglądają następująco:

    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. Użyj języka Python, aby wydrukować nowe nazwy katalogów systemu plików z ostatnio zmodyfikowanym znacznikiem czasu poprzedzonym własnym plikiem tekstowym, wprowadzając to polecenie bezpośrednio w terminalu programu PowerShell: python3 list-directory-contents.py > food-directory-last-modified.txt

Mam nadzieję, że znasz kilka ciekawych kwestii dotyczących używania skryptów języka Python do automatyzowania podstawowych zadań administracyjnych systemów. Jest, oczywiście, dużo więcej do nauczenia, ale mamy nadzieję, że to pomogło ci dobrze zacząć. Udostępniliśmy kilka dodatkowych zasobów, aby kontynuować naukę poniżej.

Dodatkowe zasoby