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.
- 936 megtekintés
Hozzászólások
stdout-ra ir a szkripted?
- A hozzászóláshoz be kell jelentkezni
i
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
ez van. stdoutra ír.
- A hozzászóláshoz be kell jelentkezni
esetleg valami \r vs \n vs \r\n okoskodás valahol. Nem ismerem annyira az osx lelkivilágát (ill. semennyire :) ) De el tudom képzelni, hogy a wc nem olyat gondol sorvégének, amit a python.
(mondjuk az a fileba redirectet nem kéne meghasaltassa)
- A hozzászóláshoz be kell jelentkezni
Én is erről linkeltem fent egy stack overflow cikket. Ott is Mac alatt volt ez a hiba.
- A hozzászóláshoz be kell jelentkezni
beraktam explicit \n-t ugyanaz.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
MÚKOGGY!
- A hozzászóláshoz be kell jelentkezni
Lefut rendesen, printeli, amit kell. A dolog nem titkos.
- A hozzászóláshoz be kell jelentkezni
Ez relevánsnak tűnik.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
nem, a legalapabb elszamol 1-n, explicit \n-ek nelkul, azt a wc is jol szamolja. Gondoltam meg, h stdout flush, de az alapprogi nagyon sok output-ra is jo.
- A hozzászóláshoz be kell jelentkezni
utf8?
- A hozzászóláshoz be kell jelentkezni
Legalább azt próbáld ki, hogy stdout + stderr ugyanoda menjen, és úgy wc.
python akármi.py 2>&1 | wc -l
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
ezt is lefutottam mar, ugyanaz, mitobb 2 masik shellben is kiprobaltam. ua szoval megis a python lesz imho.
- A hozzászóláshoz be kell jelentkezni
Nemjo: https://pastebin.com/raw/3gxWsza0
Jo: https://pastebin.com/raw/uCiA3PNx
Nem a pythonság a lényeg, 3 napja foglalkozok vele
- A hozzászóláshoz be kell jelentkezni
Amúgy hányas python?
Jav: OK, látom, hogy 2-es szintax szerinti a print.
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
2.7.10, os default
- A hozzászóláshoz be kell jelentkezni
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)
- A hozzászóláshoz be kell jelentkezni
Jó helyen keresgéltél :-)
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
sys.stdout.flush()
sys.stderr.flush()
- A hozzászóláshoz be kell jelentkezni
Az os._exit() helyett: sys.exit(rtcd)
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
+1 Kulonben nincs flush.
- A hozzászóláshoz be kell jelentkezni
Jíííí. ezért csináltam a butascrip-et, az byte-ra sokkal többet ír, de nyilván a sys.exit hiánya csinál egy implicit sys.exi(???)-t. Ez volt. A söröket majd 1x.
- A hozzászóláshoz be kell jelentkezni
Ez a megoldas (+1).
http://stackoverflow.com/questions/9591350/what-is-difference-between-s…
Egyebkent ha nem akarsz hibakodot visszaadni, nem kell sys.exit() sem.
- A hozzászóláshoz be kell jelentkezni
Megoldva, os._exit != sys.exit
Köszimind.
- A hozzászóláshoz be kell jelentkezni