python output és wc -l

Van 1 python script, ami kilistáz egy folder tartalmát. Magában működik, de ha megküldöm egy | wc -l -lel, akkor mindig 0-t ad vissza. redirect szintén nem működik. A sima for i in range(1,10) igen, ezért nem gondolom, h a shell-em majmult meg. Amúgy osx. Vagy én hülyültem meg. Ötlet?
Tisztában vagyok vele, hogy ilyen nincs.

Hozzászólások

nem az stderr-re ír valamiért az a python? Ill a redirect nem működik, az mit jelent, hogy a "pythonscript > valami.txt" esetén a valami.txt üres?

Sima `wc` (-l nelkul) mit mond?

Ugy tunik, nem tudod meguszni, hogy a szkriptedet vagy legalabb egy reszet publikald... alternativ verzio, hogy egy elore megbeszelt pillanatban a teljes hup kozosseg becsukja a szemet, koncentral, es elkialtja magat egyszerre: MUKODJ! Es hatha az is segit.

Kísérteties. Egy legalapabb Python program is ezt csinálja, vagy csak az amiről szó van? Ha van olyan, ami működik, akkor a funkciók lecsapdosásával kéne megnézni, hogy mi rontja el.

Talán lehet valami olyan lib betöltve, ami eltérő viselkedést ad TTY terminál alatt, mint anélkül. Elvileg egy program fel tudja ismerni, hogy TTY van-e a vonal másik végén, és aszerint tud különböző eredményt adni. Ritka, de van ilyen program.

Nem lehet, hogy a python agyában cache-eli a kimenetet, és az os._exit úgy lép ki, hogy a cache nincs kitolva az stdout-ra?

Két dolgot próbálnék ki: flush kikényszerítése os._exit előtt (ha lehet ilyet pythonban, nem ismerem), vagy nem os._exit-tel lépnék ki, hanem simán a program végére futtatással. (IMHO nincs szükség az exitre egyébként sem)

Megoldva, os._exit != sys.exit
Köszimind.