У меня есть сценарий оболочки, который вызывает функцию из файла python, который я создал. Эта функция требует двух аргументов, одной строки и одного списка строк. Я пытаюсь выяснить, как я могу назвать этот скрипт формой консоли. Моя болтовня:
#!/bin/sh
cd $1
python -c "from my_file import my_function; my_function( \"$2\" )"
Первый аргумент - это путь к файлу my_file.py
а второй - список строк python. Как я могу вызвать скрипт из терминала?
Мой скрипт работает, если я вызываю его из файла python, например (и, например, для ввода двух строк):
arguments = ["./script.sh", path, args1]
ret_val = subprocess.Popen(arguments, stdout=subprocess.PIPE)
Возможно, вы можете передать его в качестве аргумента командной строки для python.
#!/bin/sh
cd $1
python -c "from my_file import my_function; import sys; my_function(sys.argv[1])" $2
./script path arg1_text
?