sobota, 8 października 2016

Python - Obsługa plików

Tym razem chciałbym przedstawić podstawowe sposoby obsługi plików i folderów w języku Python.


[Źródło: https://applover.pl/technology/python]

Programy:

Poniżej przejdę przez kilka prostych programów pozwalających na opisanie zagadnienia obsługi plików.

Pierwszy program:


  1. #przypisanie nazwy do pliku
  2. file = 'pliktekstowy.txt'
  3. #osbluga wyjatku, wyswietl blad jezeli problem
  4. try:
  5.     f = open(file)
  6. except IOError:
  7.     print('ZLA NAZWA PLIKU')
  8. print(f.name)
  9. #bez parametru
  10. text = f.read()
  11. print(text)
  12. print('\n')
  13. #wyswietlenie okreslonej ilosci znakow
  14. #text = f.read(5)
  15. #print(text)
  16. f.close()

Program przedstawiony powyżej ma za zadanie otwarcie pliku i wyświetlenie jego nazwy. W pierwszej linii przypisana jest nazwa pliku do zmiennej.  Następnie w obsłudze błędu sprawdzane jest czy dany plik znajduje się w folderze z projektem, jeśli nie to wyświetlany jest błąd. Następnie na ekran zostaje wyprowadzona nazwa pliku oraz tekst który się w nim znajduje. Funkcja f.read(5) pozwala na wyświetlenie 5 znaków. Po wszystkich operacjach plik zostaje zamknięty.

Drugi program:


  1. file = 'plik.txt'
  2. try:
  3.     f = open(file, 'r+')
  4. except IOError:
  5.     print('ZLA NAZWA PLIKU\n')
  6. f.write('WPISZ DO PLIKU\n')
  7. f.close()

Tym razem przeprowadzana jest edycja dokumentu. W tym celu należy w funkcji open oprócz nazwy podać jeszcze parametr, który określa warunki dostępu do pliku. Dane zostają wprowadzone funkcją f.write().

Trzeci program:


  1. import os
  2. #zmiana nazwy pliku
  3. os.rename('plik.txt','nowyplik.txt')
  4. #usuwanie pliku
  5. os.remove('plik2.txt')
  6. #nowy katolog
  7. os.mkdir('nowykatalog')

Czwarty program:


Ten program za pomocą funkcji readline zlicza ilość linii występujących w pliku:

  1. file = 'plik.txt'
  2. try:
  3.     f = open(file, 'r')
  4. except IOError:
  5.     print('ZLA NAZWA PLIKU\n')
  6. count = len(open('plik.txt').readlines())
  7. print(count)
  8. f.close()