Zasadniczo chcę napisać skrypt Pythona, który wykonuje kilka rzeczy i jednym z nich będzie uruchomienie kasy w repozytorium za pomocą subversion (SVN) i może preform kilka dodatkowych poleceń svn. Jaki jest najlepszy sposób na zrobienie tego? Będzie działał jako skrypt Crond.Jak uruchamiać polecenia SVN ze skryptu Pythona?
Odpowiedz
Czy to działa?
p = subprocess.Popen("svn info svn://xx.xx.xx.xx/project/trunk | grep \"Revision\" | awk '{print $2}'", stdout=subprocess.PIPE, shell=True)
(output, err) = p.communicate()
print "Revision is", output
Oto odpowiedź, której szukałem. Dzięki –
@Ricardo Jeśli zamierzasz używać tej techniki, myślę, że byłoby prostsze, gdyby dane wyjściowe były wymagane jako XML. Coś jak 'svn info --xml'. W ten sposób wyniki będą łatwiejsze do analizowania i przetwarzania. –
dzięki za heads up @EdwinDalorzo –
Spróbuj pysvn
Daje doskonały dostęp miarę Przetestowałem go. Oto kilka przykładów: http://pysvn.tigris.org/docs/pysvn_prog_guide.html
Powodem, dla którego mówię o ile testowałem to, ponieważ przeniosłem się do Git .. ale jeśli pamiętam pysvn jest (tylko i) najlepszym biblioteka dla svn.
Dzięki za to! – Danijel
W rzeczywistości istnieją dwa moduły pythona dla subversion: pysvn i svn (biblioteka SWIG wokół subversion C lib): http://svnbook.red-bean.com/en/1.7/svn.developer.usingapi.html#svn.developer .usingapi.otherlangs W zależności od tego, co próbujesz zrobić, większość ludzi używa pysvn. –
Spójrz do modułu Pythona xonsh: http://xon.sh/tutorial.html
może wywołać poleceń powłoki plus orurowanie i wyjście przekierowanie z bliskim kontakcie z pytona kodu natywnego (zagnieżdżonych) bez konieczności gry z pytona komunikowania bullshet i uciec z postaciami dookoła.
Przykłady:
env | uniq | sort | grep PATH
COMMAND1 e>o < input.txt | COMMAND2 > output.txt e>> errors.txt
echo "my home is $HOME"
echo @(7+3)
- 1. Jak uruchamiać polecenia skryptów ze zmiennych?
- 2. Jak uruchamiać zadania odręczne ze skryptu węzła?
- 3. Jak uchwycić Wyprowadzenie Curl ze skryptu Pythona
- 4. Wywołanie funkcji Pythona ze skryptu bash
- 5. Wywołanie funkcji Pythona ze skryptu powłoki
- 6. PyCharm: Jak uruchamiać polecenia syncdb i sql?
- 7. Jak uruchamiać polecenia USSD na Androidzie?
- 8. Jak zdobyć JSON ze strony internetowej do skryptu Pythona
- 9. jak wyjść ze skryptu Pythona w instrukcji if
- 10. Dane wyjściowe potoków z polecenia powłoki do skryptu Pythona
- 11. Jak mogę wyjść ze skryptu nodeJS z poziomu skryptu?
- 12. Jak utworzyć plik wsadowy uruchamiać ciągi jako polecenia?
- 13. Jak uruchamiać polecenia powłoki z aplikacji Mac/MacRuby?
- 14. Jak uruchomić winpdb ze skryptu Python?
- 15. Brak koloru w VI po wywołaniu ze skryptu Pythona
- 16. Sprawdź, czy istnieją pliki dev Pythona ze skryptu Bash
- 17. Jak uruchamiać polecenia na tej samej powłoce TCL przy użyciu Pythona
- 18. Zakończenie skryptu Pythona podczas korzystania z ZeroMQ ze zdalnym serwerem
- 19. Programowe testowanie obsługi OpenMP ze skryptu konfiguracyjnego Pythona
- 20. Używanie Pythona w vimscript: Jak wyeksportować wartość ze skryptu Pythona z powrotem do vima?
- 21. delegowania do skryptu Pythona
- 22. Wywołanie skryptu w języku Python ze skryptu Applescript
- 23. Jak wykonać polecenie powłoki ze skryptu php?
- 24. Demon kontra Upstart dla skryptu Pythona
- 25. VirtualEnv zainicjalizowany ze skryptu bash
- 26. a2ensite ze ścieżki skryptu
- 27. Wykonywanie skryptu Bash ze skryptu PHP
- 28. Git-SVN: Zaktualizuj repozytorium Git ze scentralizowanego serwera SVN
- 29. Jak uruchamiać polecenia na serwerze SSH w języku C#?
- 30. Parametry wiersza polecenia Pythona
Brałeś spojrzeć na [Python] Interfejs do Subversion (http: // pysvn. tigris.org/docs/pysvn.html)? –
Nie potrzebowałem tego, ale dzięki za napiwek. –