Próbuję użyć podprocesora podprogramu Pythona, aby wykonać następującą funckję unix:
grep -c "Frame:0" file.txt
Mój kod python wygląda następująco:
frame0Count=int(unix.call("grep -c "Frame:0" %s"% fileNameVariable,shell=True))
Nie znaleziono żadnych zdarzeń, dane wyjściowe ekranu:
0
Jednakże frame0Count var ma wartość 1, a nie 0.
Czy ktoś może wyjaśnić, dlaczego tak jest?
Dzięki
Odpowiedzi:
1 dla odpowiedzi № 1Jak Simon zauważył, że mój apporach był zły. Aby osiągnąć mój cel, mogę wykonać następujące czynności:
callStringframe0= unix.Popen("grep -c Frame:0 %s" % fileNameVariable ,
stdout=unix.PIPE,
stderr=unix.STDOUT,
shell=True)
frame0Count=int(callStringframe0.stdout.read())
To daje mi poprawną odpowiedź.