Как разделить строку с 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
Did you know that you can swap $XCH — the Chia Network's native coin — in Tangem?
There's no need for any external exchanges! Swap any crypto for #Chia in Tangem Wallet via our simple and secure interface designed especially for crypto swaps through several third-party providers.
Swap now! 🌱
_
Tangem AG provides only hardware wallets and non-custodial software solutions for managing digital assets. Tangem is not regulated as a financial services provider or cryptocurrency exchange. Tangem does not hold, custody, or control users’ assets or transactions. Crypto transaction services are provided by third-party providers. Tangem provides no advice or recommendation on use of these third-party services.
Вы все находитесь в венчуре.
Ваших денег в Crypto не существует.
Их нет.
Просто нет.
Это 0.
Не важно речь про #ETH#CHIA#FLIP ….что угодно.
Любое дерьмо.
Этого нет.
Даже в #TWT их нет.
#TWT - это 0.
Это ZERO.
Ровное ZERO.
Это сказка и вымысел.
Когда вы смотрите в ваш портфель и там написано 80 000$, на самом деле - это ровный 0$.
#BTC частично равняется чему-то, но только в составе ETF.
Если у вас есть нормальные западные ETF или недвижимость, не требующая глубокой операционки - тогда да.
Частично у вас есть #BTC и даже частично Stable.
Особенно если это USDC.
Но в остальном - смиритесь с тем, что все ваши цифры Crypto - фикция.
До того момента пока они, как минимум, не ушли в твердую валюту или домик в деревне с козами.
Формула:
Мой портфель 0 + Я делаю ставку = Попытка оформить Gen Wealth
Находясь в венчуре вы принимаете правило игры “мой портфель - 0” ради того, чтобы получить Generational Wealth.
Сделать так, чтобы идея в портфеле взорвала ваш финансовый мир и подарила свободу.
Для каждого эта цифра индивидуальна.
Кто-то скажет про 10 млн $ в Испании, из которых 7 уйдут в консервативный портфель.
Кто-то хочет жить на своей ферме под Вологдой и нужно 500к$.
Но суть одна.
Вы делаете ставку.
Ваша ставка должна носить характер ДИЗРАПТА.
Ваша ставка должна иметь потенциал закрепить х10-х100, минимум.
Ваша ставка должна, по возможности, обрести докупки.
Если ваша ставка отличается от подобных параметров - вы просто теряете время.
В то время как в реальном мире можно заработать куда большие деньги.
Повторюсь, я про Gen Wealth.
Я не про выживание на Crypto деньги.
Выживать можно и на деньги дворника.
В этом нет ничего зазорного.
Когда вы приходите в венчур, цель не может быть меньше, чем тотальная смена финансового положения.
Когда все начнется - у вас останется единственная мысль “1$ был же вот здесь, прямо здесь, я знал, что так оно и будет, почему я так мало старался ради докапитализации”.
This is how it works
Dream bigger
Be ready
#TWT