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

Usunięta treść Dodana treść
Piotr (dyskusja | edycje)
Nie podano opisu zmian
Piotr (dyskusja | edycje)
Nie podano opisu zmian
Linia 23:
Dive inDive inDive in
 
# Jak zobaczyliśmy w Przykładzie 6.9, “Prosty licznik”, możemy wykorzystać wbudowaną funkcje <tt>range</tt>, aby zbudować prostą pętlę licznikową, która powtarza pewną operację określoną liczbę razy.
# As you saw in Example 6.9, “Simple Counters”, you can use Python's built-in range function to build simple counter loops that repeat something a set number of times.
# <tt>stdout</tt> jest ''obiektem pliko-podobnym''; wywołując jego funkcję <tt>write</tt> będziemy wypisywać na wyjście napis, który przekazaliśmy. W rzeczywistość, to właśnie funkcja <tt>print</tt> naprawdę robi; dodaje ona znak nowej linii do wypisywanego napisu, a następnie wywołuje <tt>sys.stdout.write</tt>.
# stdout is a file-like object; calling its write function will print out whatever string you give it. In fact, this is what the print function really does; it adds a carriage return to the end of the string you're printing, and calls sys.stdout.write.
# InW thetym simplestprostym case,przypadku <tt>stdout</tt> andi <tt>stderr</tt> sendwysyłają theirwyjście outputdo to thetego samesamego placemiejsca: the Pythondo IDE Pythona (ifjeśli you'rejesteś inw onenim), orlub thedo terminalterminala (ifjeśli you'remasz runninguruchomionego PythonPythona fromz thelinii command linepoleceń). LikePodobnie jak <tt>stdout</tt>, <tt>stderr</tt> doesnie notdodaje addznaku carriagenowej returnslinii forza youciebie; ifjeśli youchcesz, wantaby themten znak został dodany, addmusisz to themzrobić yourselfsamemu.
 
Zarówno <tt>stdout</tt> i <tt>stderr</tt> są ''obiektami pliko-podobnymi'', a które omawialiśmy w Podrozdziale 10.1, “Abstrakcyjne źródła wejścia”, lecz te są tylko do zapisu. Nie posiadają one metody <tt>read</tt>, tylko <tt>write</tt>. Jednak nadal są one ''obiektami pliko-podobnymi'' i możemy do nich przypisać inny obiekt pliku lub ''obiekt pliko-podobny'', aby przekierować ich wyjście.
stdout and stderr are both file-like objects, like the ones you discussed in Section 10.1, “Abstracting input sources”, but they are both write-only. They have no read method, only write. Still, they are file-like objects, and you can assign any other file- or file-like object to them to redirect their output.
 
'''ExamplePrzykład 10.9. RedirectingPrzekierowywanie outputwyjścia'''
 
[you@localhost kgp]$ python stdout.py