2019-01-11
Żeby z linii komend można było uruchamiać sktypty pythona bez podawania ścieżki do programu python.exe, najlepiej jest dodać katalog instalacji pythona do zmiennej środowiskowej PATH podczas instalacji:
Jednak, jeśli nie chcesz poprawiać instalacji, po prostu ręcznie zmodyfikuj ścieżkę. U mnie wygląda to tak:

Inna kwestia, to czy skrypty napisane w pythonie mają właściwą ikonkę i czy będzie je można uruchomić podwójnym kliknięciem. Skojarzenie pliku z programem, który go uruchamia można ustawić w Start >> Ustawienia >> Default apps i u mnie wygląda to tak:

2019-01-11
W Pythonie mamy kilka sposobów na formatowanie tekstów, między innymi starszy z wykorzystaniem operatora % i nowy wykorzystujący metodę format. Jak to zwykle bywa nowsze metody pozwalają na wykonywanie większej ilości niestandardowych formatowań, niż te starsze. Część zadań można jednak realizować z wykorzystaniem obu metod – z porównywalnym efektem. Oto formatowanie napisu na 10 znakach z wyrównaniem do lewej lub do prawej:
print('%10s' % ('test')) # align to right
print('%-10s' % ('test')) # align to left
print('{:>10}'.format('test')) #align to right
print('{:10}'.format('test')) #align to left
Więcej szczegółów zajdziesz tutaj:
https://pyformat.info/
A oto efekt:

2018-12-21
Podczas uruchamiania skryptu wyświetlił się komunikat o błędzie składni. Prosta sprawa – wystarczy znaleźć literówkę lub brakujący nawias. I tak rzeczywiście było.
Problem jednak pojawił się inny. Normalnie skrypt jest uruchamiany automatycznie i zawiera czynności, których nie można uruchomić ot tak sobie. Nie ma więc możliwości sprawdzenia, czy skrypt po poprawce jest już rzeczywiście dobry.
I tu z pomocą przychodzi opcja -n dla bash
bash -n script_file
- Jeśli w skrypcie znajduje się błąd, to polecenie wyświetla komunikat o znalezionym błędzie
- Jeśli skrypt nie ma błędów składniowych, nic nie jest wyświetlane
Oczywiście polecenie nie sprawdza, czy nie masz literówek w nazwach zewnętrznych programów, np. nie wykryje polecenia whoo jako błędnego. To pewnie literówka, ale opcja -n sprawdza tylko składnię. Ale to i tak całkiem nieźle, jeżeli chodzi o sprawdzenie jednej drobnej poprawki 🙂
Co ciekawe jest nawet strona, która pozwala sprawdzić skrypt online: Czytaj dalej »
2018-12-19
Popatrz na taki skrypt:
function doSomething()
{
param($times)
$i = 0
while ($i -lt $times)
{
echo "$i"
$i++
}
}
doSomething 3
Jeśli go uruchomisz, to wszystko działa jak należy. Funkcja jest wywoływana, polecenie echo wyświetla wyniki. Ale wystarczy drobna zmiana: Czytaj dalej »
2018-12-13
Ustawienia RDP znacznie się zmieniły od czasów starusieńkiego Windows XP, gdzie zazwyczaj wystarczyło włączyć RDP i już! Teraz podczas połączenia sprawdzanych może być wiele komponentów, a cel jest jeden – zwiększone bezpieczeństwo. Sprawdzane jest bezpieczeństwo nawiązanego połącznia, testuje się czy komputer źródłowy i docelowy są tymi maszynami za które się podają i oczywiście sprawdza się, czy użytkownik, który sie łączy ma do tego uprawnienia.
W sieci domowej można czasami nieco odpuścić kwestie aż tak dokładnej weryfikacji wszystkich ustawień.
Jeżeli wiec przy nawiązywaniu połączenia widzisz komunikat:
Remote Desktop Connection
The connection cannot proceed because authentication is not enabled and the remote computer requires that authentication be enabled to connect.
to obejściem problemu może być wpisanie w rejestrze:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
klucza “SecurityLayer” na 0
Oczywiście takie rzeczy tylko w bezpiecznej, przytulnej, domowej sieci 😉
2018-11-25
Od czasu do czasu administrator lub programista musi nieco posprzątać w swojej bazie danych. Sprzątanie może polegać na usunięciu tabel, które nie są już potrzebne, w których kiedyś ktoś planował przechowywać jakieś dane, ale się rozmyślił i zostają osierocone, nieużywane tabele. Wykonanie polecenia DROP jest proste, szybkie i przyjemne, ale przed usuwaniem warto sprawdzić, czy tabela nie jest wykorzystywana w widokach, procedurach i funkcjach.
Jeżeli inne obiekty były tworzone z wykorzystaniem opcji with SCHEMA_BINDING, to zadanie jest proste, bo sama próba usunięcia obiektu, do którego odwołują się inne obiekty skończy się błędem. Gorzej jeśli ta opcja nie była wykorzystywana, ale i tak masz na to rozwiązanie.
Oto przykład jaki rozważymy: Czytaj dalej »
2018-11-25
DataFrame może zawierać dużo wierszy. Czasami chcesz zmienić wartość w określonej kolumnie, ale tylko pod warunkiem, że dane w wierszu spełniają jakiś określony warunek.Zacznijmy od instrukcji tworzącej prosty data frame:
import pandas as pd
import numpy as np
df = pd.DataFrame(columns=['values','values2'])
for i in range(10):
df.loc[i] = [i,i*10]
df
Teraz kolej na sztuczkę. Trzeba znaleźć miejsca, gdzie w kolumnie values mamy spełniony jakiś warunek, powiedzmy values > 5
filter = df['values'] > 5
filter
filter to seria wartości True/False, gdzie True oznacza komórki spełniające warunek, a False – nie spełniające. Jak chcesz dostać z data frame, tylko te wiersze, które spełniają warunek piszesz tak:
df[filter]
a jak chcesz tylko te zmienić (tutaj np. wpisać wartość NaN), to piszesz tak:
df['values'][filter] = np.NaN
df