Uczę się Pythona w ciągu ostatnich kilku miesięcy i wreszcie zaczynam robić użyteczne rzeczy.Używanie Pythona do generowania monitów poleceń
Co próbuję w końcu zrobić, to mieć skrypt python, który działa jako kolejka. Chodzi o to, że chciałbym mieć folder zawierający kilka plików wejściowych, które inny program używa do wykonywania obliczeń (jestem fizykiem teoretycznym i wykonuję wiele zadań obliczeniowych dziennie).
Sposób, w jaki teraz muszę to zrobić, to umieszczenie wszystkich plików wejściowych w pudełku z oprogramowaniem obliczeniowym. Następnie muszę przekonwertować pliki wejściowe DOS na unix (dos2unix), po czym muszę skopiować nowy plik wejściowy do pliku o nazwie "INPUT". Wreszcie uruchamiam polecenie, które uruchamia zadanie.
Wszystkie te zadania są obsługiwane w wierszu polecenia. Moje pytanie brzmi: jak połączyć mój program z wierszem poleceń? Następnie, jak mogę monitorować proces (który normalnie robię poprzez użycie procesora i polecenie TOP), i python rozpoczyna następną pracę zaraz po zakończeniu ostatniego zadania.
Przepraszam za przepychanki, po prostu nie wiem, jak sterować wierszem poleceń ze skryptu, a następnie automatycznie go "obserwować".
Dzięki
Myślę, że moduł [subprocess] (http://docs.python.org/2/library/subprocess.html) jest tym, czego potrzebujesz. To dobre pytanie, dam ci to, ale istnieje wiele [duplikatów] (http://stackoverflow.com/q/89228/645270) tutaj na SO. – keyser
To, o co właściwie prosisz - kontrolowanie wiersza polecenia ze skryptu - jest trudne. Ale gdy wiersz polecenia, który próbujesz kontrolować (w tym przypadku, powłoka) nie robi nic, czego nie możesz zrobić łatwiej w Pythonie (w tym przypadku z 'podprocesiem'), nie musisz kontroluj monit. – abarnert