Zanurkuj w Pythonie/Standardowy strumień wejścia, wyjścia i błędów: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Beau (dyskusja | edycje)
drobne techniczne
Nie podano opisu zmian
Linia 38:
(W Windowsie możemy wykorzystać polecenie <tt>type</tt>, zamiast <tt>cat</tt>, aby wyświetlić zawartość pliku.)
 
<sourcesyntaxhighlight lang="python">
#-*- coding: utf-8 -*-
#stdout.py
Linia 50:
sys.stdout = saveout #(6)
fsock.close() #(7)
</syntaxhighlight>
</source>
 
# To zostanie wypisane w interaktywnym oknie IDE (lub w terminalu, jeśli skrypt został uruchomiony z linii poleceń).
Linia 75:
Exception: ten błąd będzie logowany</nowiki>}}
 
<sourcesyntaxhighlight lang="python">
#stderr.py
#-*- coding: utf-8 -*-
Linia 83:
sys.stderr = fsock #(2)
raise Exception('ten błąd będzie logowany') #(3) (4)
</syntaxhighlight>
</source>
 
# Otwieramy plik <tt>error.log</tt>, gdzie chcemy przechowywać informacje debugujące.
Linia 139:
|10.13|Czytanie ze standardowego wejścia w {{Python/Src|kgp/kgp.py|kgp.py}}
|tekst=
<sourcesyntaxhighlight lang="python">
def openAnything(source):
if source == "-": #(1)
Linia 150:
 
# ... ciach ...
</syntaxhighlight>
</source>
 
# Jest to funkcja <code>openAnything</code> z {{Python/Src|kgp/toolbox.py|toolbox.py}}, którą wcześniej badaliśmy w [[../Abstrakcyjne źródła wejścia#przy-10.6|podrozdziale 10.1, "Abstrakcyjne źródła wejścia”]]. Wszystko, co musimy zrobić, to dodanie trzech linii kodu na początku, aby sprawdzić, czy źródłem nie jest <code>"-"</code>; jeśli tak, to zwracamy <code>sys.stdin</code>. Naprawdę, to tylko tyle! Pamiętasz, <code>stdin</code> jest ''obiektem plikopodobnym'' z metodą <code>read</code>, więc pozostałą część kodu (w {{Python/Src|kgp/kgp.py|kgp.py}}, gdzie wywołujemy funkcję <code>openAnything</code>) w żaden sposób nie zmieniamy.