|
- Programming4Fun http://www.programming4fun.pun.pl/index.php - Poradniki http://www.programming4fun.pun.pl/viewforum.php?id=21 - Kurs Pythona. Część 12. http://www.programming4fun.pun.pl/viewtopic.php?id=20 |
| Hoguzzos - 2014-07-10 22:36:33 |
ŹRÓDŁO : http://szgrabowski.kis.p.lodz.pl/Python-podstawy.html Kod:
f = open("c:/topsecret/mypassword.txt", "rt")
text = f.read()Zmienna text przechowuje zawartość wskazanego pliku, jako napis (string). Co więcej, gdyby f został otwarty w trybie binarnym (‘b’ zamiast ‘t’), to też funkcja read() zwróciłaby string. Kod:print f.name, f.mode, f.closed Wykonaj teraz operację f.close() i wyświetl atrybut closed tego pliku. Kod:words = open("c:/730.txt").read().split()
print words[:30]
words.count("Oliver")
words.count("Twist")Jak widzisz, wszystkie słowa książki „siedzą” na liście words i możemy prosto np. policzyć, ile razy w tekście występuje imię oraz nazwisko tytułowego bohatera. A może chcemy znać pozycje słowa „Twist” na liście słów? Oto kod: Kod:
for j, i in enumerate(words):
if i == "Twist":
print j,Funkcja enumerate(lista), formalnie rzecz biorąc, zwraca obiekt enumeracji (wyliczenia), ale możemy o tym na razie zapomnieć. Jej użycie sprowadza się do odczytania bieżącego elementu listy wraz z indeksem. Sprawdź na mniejszym przykładzie: Kod:li = [3, -5, "abc", 10]
for j, in in enumerate(li):
print i, jWypróbuj też: list(enumerate(li)). Kod:print len(set(words)). Nieraz wygodniej jest działać na poziomie całych wierszy. W takim przypadku użyjmy metody readlines(). Wczytajmy jeszcze raz cały plik, tym razem do listy wierszy i wypiszmy na ekran wiersze od 100-go do 120-ego. Żeby układ tekstu był „ładny” (wiersz w jednej linii), użyj pętli for oraz print w jej wnętrzu. A może widzisz co drugą linię pustą? Co zrobiłeś źle? Popatrz na linię print-a. Kod:g = open("c:/output.txt", "w")
g.write("Oto kilka początkowych liczb pierwszych:\n")
for i in [2, 3, 5, 7, 11]:
g.write(str(i)+" ")
g.close()Można też jednym wywołaniem metody writelines zapisać do pliku listę stringów: Kod:lista = ["napis1 ", "napis 2 ", "napis 3 "] g.writelines(lista) 25.Wypisz 10 pierwszych linii danego pliku tekstowego – wspak. |