Jak wyświetlić wyjście w tej samej linii w Python

Jak wyświetlić wyjście w tej samej linii w Python

Pisząc skrypt Python, mogą wystąpić przypadki, w których chcesz wyświetlić wyjście w tej samej linii zamiast mieć go na nowej linii za każdym razem. Może to być szczególnie przydatne przy tworzeniu paska postępu lub aktualizacji wyjścia w czasie rzeczywistym.

W tym samouczku omówimy metody, których można użyć do wyświetlania wyjściowego w tej samej linii w Python.

Metoda 1: Korzystanie z koniec Argument w wydrukować() Funkcjonować

wydrukować() Funkcja w Pythonie pozwala określić znak końcowy, który następuje po wyjściu. Domyślnie jest to ustawione na nową postać \N, co powoduje wyświetlanie danych wyjściowych na nowej linii. Aby utrzymać wyjście w tej samej linii, możemy określić inny znak końcowy, taki jak przestrzeń .

Oto przykład:

print („hello”, end = ") print („ Jak się masz?")
12print („hello”, end = ") print („ Jak się masz?")

Wyjście tego kodu będzie:

Wyjście: Witam, jak się masz? 

Jak widać, dwa wyjścia są wyświetlane w tej samej linii.

Metoda 2: Korzystanie z spłukać Argument w wydrukować() Funkcjonować

Innym sposobem wyświetlania wyjścia w tej samej linii jest użycie spłukać argument w wydrukować() funkcjonować. Ten argument mówi Pythonowi, aby wypłukiwał bufor wyjściowy, co oznacza, że ​​wyjście jest wyświetlane natychmiast zamiast przechowywania w buforze i wyświetlane później. Aby użyć tego argumentu, musisz ustawić go na true.

Oto przykład:

Importuj sys print („hello”, end = ", flush = true) print (" Jak się masz?", flush = true)
123Importuj sysprint („hello”, end = ", flush = true) print (" jak się masz?", flush = true)

Wyjście tego kodu będzie takie samo jak w Metoda 1, Ale zaletą używania argumentu spłukiwania jest to, że będzie działał niezależnie od wielkości bufora wyjściowego.

Metoda 3: Korzystanie z Sys.Stdout.pisać() metoda

Innym sposobem wyświetlania wyjścia w tej samej linii jest użycie Sys.Stdout.pisać() metoda. Ta metoda zapisuje standardowy strumień wyjściowy (Sys.Stdout) bez dodawania nowej postaci na końcu.

Oto przykład:

Importuj Sys.Stdout.Napisz („Hello”) Sys.Stdout.Napisz („Jak się masz?")
123importować Syssys.Stdout.Napisz („Hello”) Sys.Stdout.Napisz („Jak się masz?")

Wyjście tego kodu będzie:

Wyjście: Witam, jak się masz? 

Jak widać, dwa wyjścia są wyświetlane w tej samej linii.

Metoda 4: Za pomocą powrotu powozu (\R)

Czwarta metoda wyświetlania wyjściowego w tej samej linii jest użycie powrotu karetki (\R). Zwrot karetki to specjalny znak, który przenosi kursor na początek bieżącej linii i zastępuje istniejącą treść nową treścią.

Oto przykład:

Importuj czas dla I z zakresu (10): print („\ r Progress: %”.format (i*10), end = ”).sen (1)
1234Importuj czas i w zakresie (10): print („\ r postęp: %”.format (i*10), end = ”).sen (1)

Wyjście tego kodu będzie:

Wyjście: postęp: 90% 

Jak widać, pasek postępu jest wyświetlany w tej samej linii i aktualizuje co sekundę.

Wniosek

W tym samouczku omówiliśmy cztery metody wyświetlania wyjściowej w tej samej linii w Pythonie. Możesz wybrać metodę, która najlepiej odpowiada Twoim potrzebom w oparciu o rodzaj wyjścia i poziomu kontroli, którego potrzebujesz na wyjściu. Niezależnie od tego, czy tworzysz pasek postępu, czy po prostu chcesz aktualizować dane wyjściowe w czasie rzeczywistym, te metody pomogą Ci osiągnąć pożądany wynik.

Należy zauważyć, że Sys.Stdout.pisać() Metoda i \R Znak jest najbardziej bezpośrednimi metodami kontrolowania wyjścia w tej samej linii, ponieważ pozwalają pisać bezpośrednio do standardowego strumienia wyjściowego. Z drugiej strony, końcowy argument w wydrukować() funkcja i spłukać Argument to prostsze metody, które w niektórych przypadkach mogą być łatwiejsze w użyciu.

Podsumowując, dzięki tym metodom możesz teraz łatwo kontrolować wyświetlanie wyników w Python, niezależnie od tego, czy jesteś początkującym czy ekspertem. Wypróbuj te metody w następnym projekcie Python i zobacz wyniki dla siebie!