Как разделить строку с shell-командой на отдельные аргументы в виде списка?
Если сделать просто сплит по пробелу то получим то что надо, кроме случаев со вставками текста с пробелами. Например так:
>>> '-arg "I Am Groot"'.split(' ')
['-arg', '"I', 'Am', 'Groot"']
Чтобы учитывать текст в кавычках как единый аргумент можно воспользоваться функцией shlex.split()
Кто читает мой канал давно, уже в курсе.
А что делать, если нужно обратное действие? Объединить аргументы из списка в строку и при этом добавить кавычки в аргумент с пробелами.
Конечно, если вы используете subprocess то он сам всё разрулит. Но если вам нужна именно команда одной строкой, то можно воспользоваться готовой функцией в том же subprocess.
>>> from subprocess import list2cmdline
>>> list2cmdline(['-arg', 'I Am Groot'])
'-arg "I Am Groot"'
Он также позаботится об экранировании уже имеющихся кавычек
>>> list2cmdline(['-arg', 'I Am "Groot"'])
'-arg "I Am \"Groot\""'
А вот так он может "схлопнуть" в команду JSON
>>> list2cmdline(['--json', json.dumps({'key': 'value'})])
'--json "{\"key\": \"value\"}"'
_______________
Возможно кто-то спросит, а зачем соединять аргументы в строку если subprocess сам это сделает а os.system не наш путь?
Мне как-то потребовалось отправлять команду на удалённое выполнение и в API поддерживалось указание команды только строкой. Так что всякое бывает)
#libs#basic
💰#APT Aptos announces about a major update to tokenomics.
The APY from staking has been reduced to 2.6%, the gas fee has been increased by 10 times, and a hard cap of 2.1 billion APT has been established.
The Fund will permanently block 210 million APT. The team is also exploring the possibility of a buyback program and expects the new decentralized exchange (DEX) to burn more than 32 million APT annually once it launches.
#APT/USDT analysis :
#APT is currently in a bearish trend, trading below the 200 EMA and consistently creating new lows. The price has rejected from both the 200 EMA and the resistance zone. It is expected to continue its bearish momentum and test lower levels.
TF : 4h
Entry : $6.00
Target : $4.32
SL : $7.14
⚙️#APT Aptos меняет токеномику.
Команда проекта объявила о переходе к новой модели – теперь эмиссия APT будет зависеть от реальной активности сети, а не раздаваться как субсидия.
Ключевые изменения:
➤ Награда за стейкинг снижается с 5,19% до 2,6%.
➤ Комиссии за газ увеличат в 10 раз (но все еще ~$0,00014 за перевод).
➤ Все комиссии сжигаются → чем больше активности, тем меньше APT в обращении.
➤ Появится жесткий лимит предложения – 2,1b APT.
➤ 210m APT навсегда заблокируют (фактически как сжигание).
➤ Гранты теперь только за результат (через KPI).
➤ Рассматривается запуск программы обратного выкупа токена APT с открытого рынка.
Ранее: голосование
Crypto Headlines
#APT/USDT analysis :
#APT is in an uptrend, currently experiencing an impulsive phase. It is anticipated that a correction phase will soon occur, leading the price to retrace and test the support zone. Following this test, a bounce back is expected, allowing the price to continue its impulsive move.
TF : 4H
Entry : $13.17
Target : $15.75
SL : $11.93