Запустите скрипт оболочки из терминала с аргументом строки и списка Python

1

У меня есть сценарий оболочки, который вызывает функцию из файла 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)
Теги:

1 ответ

1
Лучший ответ

Возможно, вы можете передать его в качестве аргумента командной строки для python.

#!/bin/sh
cd $1
python -c "from my_file import my_function; import sys; my_function(sys.argv[1])" $2
  • 0
    Мой скрипт работает, когда я вызываю его из файла Python, как в примере, приведенном выше.
  • 0
    Хорошо, вы можете просто вызвать его с помощью ./script path arg1_text ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню