• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Linux - przekierowanie outputu programu do pliku

0 głosów
112 wizyt
pytanie zadane 18 sierpnia 2020 w Systemy operacyjne, programy przez MsMaciek123 Pasjonat (23,960 p.)

Cześć,

Mam pytanie: Dlaczego przekierowanie outputu programu do pliku uzupełnia zawartość po zakończeniu programu? Np. taki kod:

import time
print('a')
time.sleep(100)
print('b')

Uruchomiony przy użyciu

python3 test.py > test.out

Tworzy plik test.out, jednak jest on pusty na początku, dopiero po 100 sekundach pokazują się dwie literki. Jest jakiś sposób, aby najpierw pojawiła się literka a i zostało to zaktualizowane do pliku a później b?

1 odpowiedź

+1 głos
odpowiedź 18 sierpnia 2020 przez adrian17 Ekspert (302,720 p.)

Ponieważ stdout typowo jest buforowany (a bufor jest zrzucany np po przekroczeniu N znaków, przy nowej linii lub na końcu programu). Żeby wymusić flush bufora:

print('a', flush=True)

 

komentarz 18 sierpnia 2020 przez MsMaciek123 Pasjonat (23,960 p.)
A jest jakiś sposób, aby wymusić to w terminalu?
komentarz 18 sierpnia 2020 przez MsMaciek123 Pasjonat (23,960 p.)
a dla programów z innymi rozszerzeniami?
komentarz 18 sierpnia 2020 przez adrian17 Ekspert (302,720 p.)
Chyba... nie zrozumiałem pytania. Innymi rozszerzeniami?
komentarz 18 sierpnia 2020 przez Oscar Pasjonat (20,310 p.)

@MsMaciek123, polecenie stdbuf umożliwia uruchomienie dowolnego programu z ustalonym bufora i standardowych strumieni. 

komentarz 19 sierpnia 2020 przez MsMaciek123 Pasjonat (23,960 p.)

Jak mam tego użyć?

Próbuję:

stdbuf -o0 python3 test.py > test.txt

Ale to nic nie daje :/

komentarz 19 sierpnia 2020 przez adrian17 Ekspert (302,720 p.)
Podtrzymuję pytanie, co masz na myśli przez "inne rozszerzenia".

W przypadku który wysłałeś możesz po prostu użyć tego, co wyżej podlinkowałem w dokumentacji.
komentarz 24 sierpnia 2020 przez MsMaciek123 Pasjonat (23,960 p.)
Programy .jar, .sh

Podobne pytania

0 głosów
1 odpowiedź 81 wizyt
0 głosów
1 odpowiedź 293 wizyt
0 głosów
0 odpowiedzi 185 wizyt
pytanie zadane 24 listopada 2018 w Systemy operacyjne, programy przez Riddick Bywalec (2,550 p.)

85,774 zapytań

134,555 odpowiedzi

298,695 komentarzy

56,666 pasjonatów

Advent of Code 2021

Top 15 użytkowników

  1. 64p. - nidomika
  2. 62p. - ScriptyChris
  3. 60p. - Whistleroosh
  4. 57p. - adrian17
  5. 55p. - B4mbus
  6. 55p. - CC PL
  7. 53p. - Klaudia
  8. 50p. - WhiskeyTaster
  9. 47p. - rucin93
  10. 45p. - tokox
  11. 44p. - Adrian Rębisz
  12. 43p. - Michał Tartanus
  13. 41p. - Jarosław Roszyk
  14. 38p. - Argeento
  15. 18p. - Marcin Harasimowicz
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...