Python wywolanie skryptu/komendy shell

Python wywolanie skryptu/komendy shell
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, mam pytanie - chcialbym wywolac komende, albo skrypt shellowy w pythonie 2.7. W sieci zalecaja subproces.call(), albo os.system(), ale dostaje komunikat "no argument to -exec". Moja komenda shellowa to:
find . -type f -iname "pom.xml" -exec grep -H -A 2 -B 2 "dependencyName" {} \; | grep "version"

przy czy lokacja w ktorej szukamy i dependencyName bylyby parametrami podawanymi przez uzytkownika.
Wie ktos jak to wywolac w pythonie? Dzieki.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

A jak wklepiesz to u siebie w konsoli to ci ta komenda śmiga?

  • Rejestracja: dni
  • Ostatnio: dni
0

Tak, w konsoli dziala poprawnie.

Wizzie
  • Rejestracja: dni
  • Ostatnio: dni
0

Dwie opcje:

  1. subprocess.call(r'find . -type f -iname "pom.xml" -exec grep -H -A 2 -B 2 "dependencyName" {} \; | grep "version"', shell=True)
  2. Pierwsza odpowiedź tutaj: http://stackoverflow.com/questions/8581140/python-subprocess-call-with-arguments-having-multiple-quotations

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.