#python-3.x #string #formatting #os.system
#python-3.x #строка #форматирование #os.system
Вопрос:
pair = ['BTC/USD', 'ETH/BTC', 'ETH/USD']
time_from = 20200101
time_to = 20200120
учитывая приведенный выше список и переменные
Я хочу выполнить следующий cmd с помощью модуля os.
cmd = ("freqtrade download-data -d /home/datarepo -p 'BTC/USD' 'ETH/BTC' 'ETH/USD' -t 1h --timerange 20200101-20200101 --exchange bittrex -vv")
Когда я выполняю форматирование строк с "' '".join
помощью, я мог бы сгенерировать cmd, подобный приведенному ниже примеру, который не является правильным cmd.
cmd = ("freqtrade download-data -d /home/datarepo -p "BTC/USD' 'ETH/BTC' 'ETH/USD" -t 1h --timerange '20200101-20200101' --exchange bittrex -vv")
Любые предложения будут оценены. Спасибо
Ответ №1:
Вы могли бы использовать что-то вроде этого:
pair = ['BTC/USD', 'ETH/BTC', 'ABC/DEF']
time_from = 20200101
time_to = 20200120
message = "'" "' '".join(pair) "'"
cmd = "freqtrade download-data -d /home/datarepo -p %pair% -t 1h --timerange '%time_to%-%time_from%' --exchange bittrex -vv"
cmd = cmd.replace('%pair%', message).replace('%time_to%', str(time_to)).replace('%time_from%', str(time_from))
print(cmd)
# "freqtrade download-data -d /home/datarepo -p 'BTC/USD' 'ETH/BTC' 'ABC/DEF' -t 1h --timerange '20200120-20200101' --exchange bittrex -vv"
Комментарии:
1. Я обновил детали, пожалуйста, посмотрите. Это то, что мне точно нужно. Спасибо
2. просто обновил мой ответ на новый вопрос
3. не могли бы вы отметить сообщение как ответ на вопрос?