/ / subprocess.call - grep -c nie zwraca poprawnej wartości - python, unix, podproces

subprocess.call - grep -c nie zwraca poprawnej wartości - python, unix, podproces

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 № 1

Jak 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ź.