Programując dla mojego klienta, dosyć ciekawą, aplikację serwerową w Pythonie musiałem stworzyć małą klasę, która pobierała odpowiednie dane z pliku tekstowego. Co prawda interesowały mnie tylko dane z poszczególnych linii, ale my skupimy się na czytaniu pliku linia po linii.

Dla uproszczenia tutoriala ucieknę od tłumaczenia co to klasa, i tym samym prezentowany kod będzie od klasy stronił.

W celu załadowania pliku do pamięci(zmiennej) programu korzystamy z funkcji open. Jej pierwszy argument to ścieżka do pliku, który chcemy otworzyć, drugi natomiast to tryb, w naszym wypadku r – czyli read.

file = open('/sciezka/do/pliku/na/serwerze/plik.txt', 'r').read()

Następnie całą treść pliku musimy podzielić przez nową linię („\n”) i wiersze zapisać do tablicy.

lines = file.split('\n')

Następnie, żeby czytać każdą linię po kolei przygotowujemy pętlę for przez tablicę linii.

for line in lines:
    print line

Całość będzie wyglądać następująco:

file = open('plik.txt', 'r').read()
lines = file.split('\n')
for line in lines:
    print line
tak
czytamy
linia
po
linii
w
pythonie
pozdr.

Dzisiaj w pracy zostałem poproszony do przeanalizowania oraz usunięcia pewnego problemu na laptopie mojego współpracownika. Za każdym razem kiedy restartował komputer na ekranie po zalogowaniu pojawiało się okno notatnika, z otwartym plikiem: „desktop.ini”. Jego treść była następująca:

[.ShellClassInfo] LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21787

Dzieje się tak gdy w jakiś sposób atrybut ukrycia pliku „desktop.ini” zostaje usunięty. Problem łatwo rozwiązać, wystarczy użyć wbudowanego w system oprogramowania „attrib”, który pozwala zmieniać właściwości plików oraz folderów.

A więc:

  • uruchom linię poleceń jako administator
  • wpisz następujące polecenia:
  • attrib +s +h "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\desktop.ini"
    attrib +s +h "%programdata%\Microsoft\Windows\Start Menu\Programs\Startup\desktop.ini"
    exit
    

    voilà!