TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #191 · 14 дек.

Как разделить строку с 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #dotnetfoundation

当前筛选 #dotnetfoundation清除筛选
MDC Uzbekistan

@mdcuzbekistan · Post #901 · 25.10.2024 г., 09:33

JetBrains has officially joined the .NET Foundation as a sponsor JetBrains, a leading name in the software development industry, has officially joined the .NET Foundation as a sponsor. For over 20 years, JetBrains has been at the forefront of creating innovative tools for .NET developers. Their commitment to supporting developers and fostering a thriving ecosystem is truly commendable. This partnership highlights the importance of a vibrant and active developer community. With JetBrains providing complimentary licenses for open-source contributors and launching the OSS Power-Ups initiative, .NET developers now have even greater opportunities to enhance their projects and build a stronger, more connected open-source future. We at MDC Uzbekistan are excited to follow this new chapter and look forward to seeing the incredible innovations that will emerge from this collaboration. Kudos to both JetBrains and the .NET Foundation for paving the way for an even brighter future for the .NET community! Don’t forget to follow JetBrains and .NET Foundation for more updates on this remarkable journey! #DotNETFoundation#JetBrains#Partnership#Innovation#SoftwareDevelopment#OpenSource#Community @mdcuzbekistan