Как разделить строку с 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
「How to Use Microsoft Outlook as an RSS Feed Reader」
此前推送过一篇用 #Outlook 客户端作 #RSS阅读器 的简介,这次来个图文版:
https://www.howtogeek.com/710645/how-to-use-microsoft-outlook-as-an-rss-feed-reader/
微软承认 Outlook 全球故障:德语特殊字符全变问
Outlook 用户全球性服务故障,导致德语变音符号显示为问号。读者 Florian 排查发现,邮件发往 Strato、DomainFactory 或德国本土的 Microsoft 365 租户时正常;唯独发往托管在美国服务器上的 Microsoft 365 租户后变音符号才会丢失。 IT之家援引博文介绍,针对此问题,社区流传一种临时修复方案:用户可在 Outlook 的“选项”->“高级”->“国际选项”中,将首选编码从“西欧(ISO)”更改为“Unicode(UTF-8)”。 这一操作能解决约 90% 的手动撰写邮件显示问题。
标签:#outlook#微软
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
🚨 Hackers known as "ToddyCat" found a new way to steal #Outlook emails.
Their tool TCSectorCopy skips Outlook locks and copies mail files straight from the disk — no network use, no alerts.
They also use TomBerBil and SharpTokenFinder to steal OAuth and #Microsoft365 tokens.
More details here ↓ https://thehackernews.com/2025/11/toddycats-new-hacking-tools-steal.html
#RSS阅读器#Outlook#技巧
没错,Outlook也可以当阅读器用:
「How to add an RSS feed to Outlook 365」 by AddictiveTips
https://www.addictivetips.com/microsoft-office/add-rss-feed-outlook-365/
发现于
https://twitter.com/RSSCircus/status/1252486912331448320