Python – kiedy używać finally w try/except?

2019-12-21

Odpowiadając krótko – wtedy kiedy chcesz mieć pewność że jakieś instrukcje wykonają się NA PEWNO i ZAWSZE. Nawet w bardzo dziwnych i nietypowych sytuacjach.

Zazwyczaj np. uważamy, że kod w funkcji po słowie return się nie wykona:

i rzeczywiście tak jest:

Ale kiedy popatrzysz na taki zwariowany kod:

i wywołasz go tak:

To zobacz, że kod z bloku finally się wykonał, pomimo tego, że wykonywał się kod w try!

Tutaj finally wykonał sie mimo błedu w try

A tutaj mimo błedu w try i except.

Finally jest „nie do zabicia”… dlatego stosujemy go np. do zamknięcia plików, usunięcia roboczych danych itp.

 

By Rafał Kraik in Python

Python: Debugger w Jupyter Notebook – postać znakowa

2019-12-17

Programista bez debuggera, to jak mechanik bez klucza… to trzeba mieć!

Ostatnio bardzo popularnym narzędziem do tworzenia skryptów w Pythonie jest Jupyter Notebook. Niestety domyślnie menu nie ma polecenia debug… o ile w pojedynczych komórkach po prostu wykonujesz mało skomplikowane polecenia, to ewentualne dodanie polecenia print powinno pomóc i rozwiązać problem. Co jednak zrobić jeżeli masz nieco bardziej złożoną pętlę i coś w niej nie działa?

W charakterze kłopotliwego kodu wystąpi u nas taka pętla:

W sumie – nic skomplikowanego, ale zmienna sterująca i jest raz zwiększana, raz zmiejszana… idzie się pogubić, zwłaszcza po drinku.

W celu debuggowania w trybie „znakowym” wykonaj takie czynności:

  • załaduj moduł pdb:

  • a następnie w miejscu, gdzie chcesz aby zatrzymał się program dodaj linijkę:

Czyli nasza kłopotliwa pętelka może teraz wyglądać tak:

Po uruchomieniu w/w kodu, kiedy wykonanie dotrze do linijki

program zatrzyma się prezentując proste pole do wprowadzenia instrukcji:

jeśli wpiszesz „i” i naciśniesz enter, to debugger wyświetli w odpowiedzi aktualną wartość i. W okienku możesz też podawać bardziej skomplikowane wyrażenia, np sprawdzać ile wynosi i % 2 lub czy i %2 == True itp.

Kiedy chcesz aby zostało wykonane kolejne polecenie wystarczy nacisnąć n i enter. A kiedy masz już dosyć przetwarzania linijka po linijce naciśnij c i enter

Można też wpisać help, na co debugger odpowie listą dostępnych poleceń, lub wpisać help <nazwa_komendy> i wtedy zobaczysz opis polecenia:

Nasza sesja debuggowania mogłaby więc koniec końców wyglądać tak:

 

 

By Rafał Kraik in Python

Powershell: prawie grep

2019-11-30

Ciekawe, czy tylko ja jestem rozczarowany narzędziem do szukania plików w Windows….

Kiedy przeszukuję pliki tekstowe i chcę znaleźć pliki zawierające określony tekst, wystarczy w powershellu skorzystać z polecenia select-string:

Select-String -Path *.sql -Pattern „@ENV”

Krótkie, wygodne, a przede wszystkim SKUTECZNE – jak unixowy grep

By Rafał Kraik in Power Shell

Darmowy zbiór zadań do kursu MS Excel Tips & Tricks

2019-11-22

Jak się uczyć to najlepiej przez praktykę, dlatego właśnie w kursie MS Excel Tips and Tricks oprócz video mamy też mnóstwo zadań. Zadania zebrane w całość można pobrać i na własne potrzeby wykorzystywać ile się chce. Dostęp do materiałów video i potrzebnych plików ćwiczeniowych jest możliwy dopiero po zapisaniu się na kurs, ale już sam wgląd w zadania może pomóc się zorientować o czym opowiadamy na kursie.

Zbiór zadań do kursu „MS Excel Tips & Tricks”

MS Excel Tips and Tricks – zbiór zadań

A w tym podręczniku seria zadań na temat: codziennych czynności wykonywanych w Excel i Office, triki dotyczące bezpieczeństwa, formatowania danych, specyficznych typów danych, kontroli drukowania arkuszy, wskazówki dotyczące synchronizacji i porównywania arkuszy, korzystania z dodatków Excela, wstawiania i formatowania wykresów i wprowadzenie do makr.

Kurs

Tutaj dostępne są ćwiczenia. Jeżeli chcesz zobaczyć wykłady do tych lekcji oraz sprawdzić rozwiązania, zapraszam na kurs dostępny na platformie Udemy:

Kurs MS Excel Tips and Tricks

Kto może skorzystać z ćwiczeń?

  • na własną rękę i na własny użytek każdy
  • jeśli podręcznik ma być wykorzystany na kursie Excela, w ośrodkach szkoleniowych, w firmowych wewnętrznych akademiach, w szkołach, uczelniach, ma być w części lub w całości wykorzystany jako element innej publikacji, ma podlegać replikacji w jakiejkolwiek formie – prosimy o kontakt w celu ustalenia warunków licencji

Niech moc będzie z Tobą!

By Rafał Kraik in Helpdesk

Darmowy podręcznik: Zbiór zadań „Linux – linia komend dla początkujących”

2019-11-21

Podobno można się nauczyć pływania z książki. Podobno nawet komuś się to udało… Moim zdaniem, kiedy chodzi o naukę rzeczy praktycznych, trzeba to robić praktycznie. Dlatego właśnie jeśli chcesz poznać Linuxa, a dokładniej rzecz biorąc podstawowe komendy BASH-a, to możesz skorzystać z darmowego zbioru zadań, który można za darmo pobrać klikając w poniższy link

Zbiór zadań do kursu „Linux – linia komend dla początkujących”

Darmowy zbiór zadań „Linux – linia komend dla początkujących”

A w tym podręczniku seria zadań na temat: operacji na plikach i katalogach, edytorze vim, uprawnień do plików i katalogów, kont użytkowników, grup, poleceń użytkowych (who, whoami, users, uname, last, lastb, alias, expr, bc, date, cal, head, tail, less, more, cmp, diff), skryptowania i komunikacji (echo, read, write, mesg, wall, zarządzania plikami i dyskami (du, ds, tar, zip, unzip, gzip), skryptowania (grep, find, cut, wc, sort, uniq, tr, tree), zarządzania procesami (ps, pstree, top, kill).

Kurs

Tutaj dostępne są ćwiczenia. Jeżeli chcesz zobaczyć wykłady do tych lekcji oraz sprawdzić rozwiązania, zapraszam na kurs dostępny na platformie Udemy:

Linnux - linia komend dla początkujących kurs

Kto może skorzystać z ćwiczeń?

  • na własną rękę i na własny użytek każdy
  • jeśli podręcznik ma być wykorzystany na kursie Linuxa, w ośrodkach szkoleniowych, w firmowych wewnętrznych akademiach, w szkołach, uczelniach, ma być w części lub w całości wykorzystany jako element innej publikacji, ma podlegać replikacji w jakiejkolwiek formie – prosimy o kontakt w celu ustalenia warunków licencji

Niech moc będzie z Tobą!

By Rafał Kraik in Linuxy

Helpdesk: Jak wyłączyć aktualizacje w Windows

2019-11-06

Zacznijmy od tego, że aktualizacje to generalnie dobra rzecz. Niezaktualizowany system jest po prostu niebezpieczny, bo hakerzy czekają na „łosiów” ze starym system, na którym nie trzeba się specjalnie natrudzić żeby się włamać.

Trzeba jednak też przyznać, że są sytuacje kiedy aktualizacje chcesz wyłączyć, bo prostu transfer po sieci, miejsce na dysku, albo stabilność pracy są dla ciebie ważniejsze niż bezpieczny system. Tak było w przypadku mojego testowego systemu Windows zainstalowanego pod Hyper-V i który co kilka dni/tygodni wraca do swojego pierwotnego stanu. Nie ma potrzeby o aktualizować po każdym przywróceniu….

Niestety Microsoft bardzo dba o to żeby aktualizacje się wykonywały, dlatego kiedy chcesz je SKUTECZNIE wyłączyć, najlepiej zrobić to na WSZYSTKIE możliwe sposoby:

  • Zmień nazwę pliku wykorzystywanego do aktualizacji C:\Windows\System32\wuaueng.dll
    Oryginalnie do tego pliku nie masz uprawnień, więc musisz (1) przejąć plik na własność (2) nadać sobie uprawnienie pełna kontrola (3) zmienić nazwę pliku (4) zrestartować Windows
  • W services.msc wyłączyć (disable) usługę Windows Update
    Wyłączyć aktualizacje w rejestrze:
    W kluczu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc  wartość Start zmienić na 4
    W kluczu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc wartość Start zmienić na 4
  • Wyłączyć zadanie z harmonogramu zadań odpowiedzialne za sprawdzanie aktulizacji. Znajdziesz je w Task Scheduler Library -> Microsoft -> Windows -> Windows Update.
  • W przypadku wersji PRO wyłączyć aktualizacje w GPO. W tym celu należy uruchomić gpedit.msc i w ścieżce Computer Configuration\Administrative Templates\Windows Components\ Windows Update \ Specify Intranet Microsoft update service location zmienić adresy na tak bezsensowne jak można
  • Zmienić ustawienia połączenia sieciowego na taryfowe (metered connection)

Jeśli potrzeba więcej ilustracji to można zerknąć tu:

How To Turn Off Windows 10 Updates Permanently.

By Rafał Kraik in Helpdesk

Powershell: ftp ze zmianą uprawnień

2019-11-04

Na serwer FTP trzeba wysłać plik. Czemu by nie skorzystać z powershella?

Wszystko pięknie, ale plik miał domyślne uprawnienia, które należało zwiększyć. W takim przypadku niestety trzeba wrócić do interfejsu znakowego program ftp.exe dostępnego w Windows. Parametr s pozwala na wywołanie ftp razem z plikiem komend, który zawiera w sobie instrukcje jakie mają być wykonane przez ftp. Jeśli chcieć opisać to w powershell, to należałoby

  • zbudować plik komend
  • uruchomić ftp wskazując parametrem s na ten plik

W samym pliku z komendami następująca instrukcja określa jakie uprawnienia mają mieć nowotworzone pliki:

Zobacz też tu:

Powershell: Upload pliku przez FTP

By Rafał Kraik in Power Shell