Запустите скрипт bash, который создает папку на основе python имени скрипта - PullRequest
0 голосов
/ 01 мая 2020

У меня вопрос по поводу запуска скрипта bash в файле python. Сначала позвольте мне объяснить ситуацию. У меня есть несколько файлов python: для каждого города в Мали я могу создать прогноз погоды в python (поэтому он создал несколько файлов python: например, gao.py, bamba.py, et c .) Одним из шагов в каждом файле python является запуск сценария bash, который создает аудиофайлы в формате .wav и помещает их в папку / преобразованный. Теперь мой вопрос следующий:

Как мне изменить скрипт bash таким образом, чтобы при запуске gao.py была создана папка / convert / gao, и когда, например, bamba .py запущен, папка преобразована / bamba создана?

Это текущий скрипт bash:


#!/bin/bash

if [ ! -d converted/gao ]
then
 mkdir converted/gao;
fi;

Однако, когда я запускаю скрипт выше, в каждом городе будут места его файлы в конвертированном / gao, что не то, что я хочу. Я надеюсь, что кто-нибудь знает, как решить эту проблему.

1 Ответ

1 голос
/ 01 мая 2020

Используйте __ file__ для доступа к имени файла скрипта в python. А затем передать его в качестве аргумента сценарию bash. После этого получите доступ к аргументу в скрипте bash, используя $ 1. как следующие примеры:

Python Скрипт hello.py

import os

script_filename = __file__
# function to execute the shell script
os.system("./bashfile.sh {}".format(script_filename))

Пример Bash Скрипт bashfile. sh

#!/bin/bash

script_name=$1
# now use the script_name as you like in your script.
echo $script_name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...