Mam funkcję "wiadomości e-mail z alarmem" wewnątrz modułu Pythona. Chcę móc wywoływać tę funkcję ze skryptu bash. Wiem, że możesz wywołać moduł za pomocą "pythona" w skrypcie, ale nie jestem, jeśli możesz i jak nazwałbyś określoną funkcję w module.Wywołanie funkcji Pythona ze skryptu bash
Odpowiedz
python -c'import themodule; themodule.thefunction("boo!")'
Można użyć opcji -c
:
python -c "import random; print random.uniform(0, 1)"
Modyfikuj, jak trzeba.
Aby wywołać określoną funkcję w module, zapewniam, że moduł ma następujący:
if __name__ == "__main__":
the_function_to_call()
Następnie można po prostu zrobić to w skrypcie powłoki.
python module.py
Albo
python -m module
W zależności od tego, czy modułu na PYTHONPATH
.
To działałoby tylko wtedy, gdy nie masz jeszcze głównej lub już głównej, która wskazywała na potrzebną funkcję. W moim przypadku istnieje już główna i wskazuje na inną funkcję w module, więc nie było to możliwe. – Daniel
@Daniel: To nie jest ograniczenie, tak właśnie wyglądają twoje rzeczy. Jeśli masz już 'main' i robi źle, źle to zaprojektowałeś. –
@ S.Lott: To nie jest źle zaprojektowane. Metoda sama w sobie robi dokładnie to, co musi. Jest to ograniczenie, ponieważ jego moduł nie jest klasą, co oznacza, że jest grupą podobnych funkcji. Główne punkty tego, który jest zwykle nazywany, ale w tym przypadku muszę zacząć od nietypowej funkcji, a więc bezpośredniego połączenia. – Daniel
- 1. Wywołanie funkcji Pythona ze skryptu powłoki
- 2. Wykonywanie skryptu Bash ze skryptu PHP
- 3. Sprawdź, czy istnieją pliki dev Pythona ze skryptu Bash
- 4. Uruchamianie węzła ze skryptu bash
- 5. VirtualEnv zainicjalizowany ze skryptu bash
- 6. Importowanie funkcji ze skryptu powłoki
- 7. Wywołanie skryptu w języku Python ze skryptu Applescript
- 8. Wywołanie funkcji Matlab z Pythona
- 9. Jak ustawić zmienne środowiskowe bash ze skryptu?
- 10. Jak ukryć plik wykonywalny ze skryptu bash?
- 11. Sprawdź, czy istnieje funkcja ze skryptu bash
- 12. Uruchom skrypt bash ze skryptu R
- 13. Jak analizować $ QUERY_STRING ze skryptu CGI Bash
- 14. atomowy plik do utworzenia, jeśli nie istnieje ze skryptu Bash
- 15. Obsługa argumentów wiersza poleceń Perl ze spacjami ze skryptu bash?
- 16. Jak uchwycić Wyprowadzenie Curl ze skryptu Pythona
- 17. Jak uruchamiać polecenia SVN ze skryptu Pythona?
- 18. Brak koloru w VI po wywołaniu ze skryptu Pythona
- 19. wywołanie funkcji użytkownika z użyciem Pythona rpy2
- 20. Przekazywanie zmiennych bash do skryptu?
- 21. przekazywanie zmiennych z Pythona do skryptu powłoki bash poprzez os.system
- 22. Wywołanie rsync z Pythona subprocess.call
- 23. Jak wykonać SQL z poziomu skryptu Bash?
- 24. Wywołanie Pythona z systemem() w R do uruchomienia skryptu Pythona emulującego konsolę Pythona
- 25. Wykonywanie skryptu Bash z Golang
- 26. Detect OS ze skryptu bash i powiadamia użytkownika
- 27. Używanie sendmaila ze skryptu bash dla wielu odbiorców
- 28. Jak mogę wstawić dokument ze skryptu bash do mongodb?
- 29. PostgreSQL - zapytanie ze skryptu bash jako użytkownika bazy danych 'postgres'
- 30. grep traci kolorowanie po uruchomieniu ze skryptu bash
co jeśli chcesz przekazać ciąg znaków do funkcji Pythona? lub po prostu wydrukować "cześć"? 'python -c 'print (" hello ")" 'nie działa. – mango
@mango - Niepoprawnie - argumenty działają. W rzeczywistości skopiowałem i wkleiłem twój przykład, a następnie przetestowałem ponownie używając "python3" i "python2". Możesz mieć inny problem. –
Co zrobić, jeśli moduł Pythona znajduje się w innym katalogu? – Chaos