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 слични објави

Пребарај: #tencentanycast

当前筛选 #tencentanycast清除筛选
Rabbithosts丨日志展开......////

@rabbithostsnews · Post #444 · 26.11.2020 г., 11:10

[#Offer][#TencentAnycast][#IEPL] 腾讯Anycast以及深港内网offer, 如需了解,请询问 @WingsRabbit 现优惠出1Gbps深港,入口为电信,出口为HKBGP 优惠价,欢迎询问。 - Rabbithosts提供腾讯AIA相关服务,15M起卖 入口为腾讯BGP,出口为客户自行选择。 下单地址: https://rabbithosts.com/cart.php?gid=17 - Rabbithosts提供深港传输,整段5ms, 入口为移动or电信,出口为HK-BGP。 下单地址: https://rabbithosts.com/cart.php?gid=19 腾讯AIA相关注意点: -200M及以上客户可以提供一个入口多个出口,一台机器可以享受多地内网,即花200M的钱,可以同时获得沪日、沪美、沪韩、沪港等优质线路。 - 客户需要自行携带海外落地,我们推荐使用AWS进行落地,手游客户已经证实使用良好。 -SLA为99.9%,我们仅保证我们提供的腾讯云方面的机器有较高SLA。 腾讯Anycast至海外延迟示例,根据海外机器不同,可能会有所差别。 上海 - 日本 28~30ms 上海 - 韩国 24~26ms 上海 - 香港 30~32ms 上海 - 美西 124~126ms 上海 - 新加坡 60~62ms 广州 - 台湾 33~35ms 广州 - 香港 6ms~8ms 广州 - 新加坡 38~40ms 广州 - 曼谷 55~57ms