Как разделить строку с 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
[WORLD ANTIBIOTICS AWARENESS WEEK]
•
https://www.instagram.com/p/BqPPFTSAf3p/?utm_source=ig_share_sheet&igshid=1kt9weq66nmep
•
Sobat GeMa CerMat,
Masih dalam rangka Pekan Peduli Antibiotik Dunia tanggal 12-18 November niiih...
•
Yuukk... ikut waspada dengan semakin banyaknya bakteri yang kebal (resisten) dengan antibiotik. Bakteri resisten adalah bakteri yang kebal dengan antibiotik yang dimaksudkan untuk membunuhnya. Resistensi ini sudah menjadi ancaman besar di seluruh dunia. Berbagai laboratorium mengupayakan agar bakteri resisten ditemukan.
•
Bakteri resisten ini menyebar dengan cepat karena kemampuannya membelah diri dan berpindah. Penyebabnya banyak. Salah satunya adalah penggunaan antibiotik secara tidak tepat. Bukan hanya pada manusia, tapi juga pada hewan ternak dan perikanan. •
Kita semua bisa ikut mencegah terjadinya penyebaran bakteri resisten ini. Bisa dengan cara:
- Meningkatkan kesadaran dan pengetahuan tentang bahaya resistensi Antimikroba dan penggunaan antibiotik bijak.
- Mencegah terjadinya infeksi dengan sanitasi dan higienis
- Menggunakan antibiotik secara bijak
•
Bagaimana kita bisa menggunakan antibiotik dengan bijak?
Ada 5T dalam GeMa CerMat, yaitu:
1. TIDAK membeli antibiotik TANPA RESEP DOKTER
2. TIDAK menggunakan antibiotik SELAIN untuk INFEKSI BAKTERI
3. TIDAK MENYIMPAN antibiotik di rumah untuk PERSEDIAAN.
4. TIDAK MEMBERI antibiotik SISA pada orang lain.
5. TANYAKAN pada APOTEKER, informasi tentang antibiotik.
•
Mari ikut mencegah resistensi terhadap antibiotik, bijaklah dalam menggunakan antibiotik.
•
Musik latar:
"Resistensi Antibiotik", ciptaan Umy Qalsum, S.Si, Apt, Kasi Kefarmasian, Dinkes Kab. Polewali Mandar, Sulawesi Barat Penyanyi: Tim AoC GeMa CerMat Kab. Polman, Sulbar.
•
Informasi ini disiarkan oleh Direktorat Pelayanan Kefarmasian, Ditjen Kefarmasian dan Alat Kesehatan Kementerian Kesehatan RI dalam rangka Gerakan Masyarakat Cerdas Menggunakan Obat (GeMa CerMat). Fanpage FB: Cerdas Gunakan Obat
Twitter & IG: @gemacermat
Telegram: http://t.me/cerdasgunakanobat , http://t.me/diskusiobat
Email: [email protected]
•
#antibioticsawarenessweek#antimicrobialresistance#bijakantibiotik#rationaluseofmedicine#gemacermat#gemacermatwaaw#waaw2018
[WORLD ANTIBIOTICS AWARENESS WEEK]
•
https://www.instagram.com/p/BqH0BYlgeRu/?utm_source=ig_share_sheet&igshid=1367llqjaqrti
•
Sobat GeMa CerMat,
Tahukah kamu?
Tanggal 12 - 18 November 2018 adalah "Pekan Peduli Antibiotik Dunia" (World Antibiotics Awareness Week).
•
Kampanye kesadaran dan kepedulian antibiotik ini diadakan di seluruh dunia pada minggu ketiga November setiap tahun. Mengapa kampanye ini perlu? Karena kekebalan (resistensi) bakteri terhadap antibiotik telah menjadi ancaman serius di seluruh dunia.
•
Secara global, pada tahun 2017 ada 558.000 orang yang menderita penyakit tuberkulosa (TB) Resisten Obat dan 23.000 di antaranya berada di Indonesia. Resistensi obat ini mulai menyulitkan upaya global memerangi penyakit HIV dan malaria.(WHO)
•
Kematian akibat resistensi diperkirakan mencapai 10 jt jiwa/tahun pada tahun 2050. Bahkan dapat melebihi kematian akibat kanker. Ditambah lagi beban biaya akibat kematian dan penyakit yang ditimbulkan.
•
Mari ikut mendukung upaya pengendalian resistensi antimikroba. Mulailah menggunakan antibiotik secara bijak. Kalau bukan kita, siapa lagi? Kalau bukan sekarang, kapan lagi?
•
Informasi ini disiarkan oleh Direktorat Pelayanan Kefarmasian, Ditjen Kefarmasian dan Alat Kesehatan Kementerian Kesehatan RI dalam rangka Gerakan Masyarakat Cerdas Menggunakan Obat (GeMa CerMat).
Fanpage FB: Cerdas Gunakan Obat
Twitter & IG: @gemacermat
Telegram: http://t.me/cerdasgunakanobat , http://t.me/diskusiobat
Email: [email protected]
•
#antibioticsawarenessweek#antimicrobialresistance#bijakantibiotik#rationaluseofmedicine#gemacermat#gemacermatwaaw#waaw2018
https://www.instagram.com/p/CAwqfs_paSN9_o4zDFEFwYTbeYwi49pAPcM9sw0/?igshid=h6p2jarpdnmz
,
Penggunaan Antibiotik seperti sudah menjadi hal lazim dalam pelayanan kesehatan.
Tapi apakah Bapak/Ibu mengerti bahwa tidak semua penyakit membutuhkan Antibiotik?
Terutama pada anak, memberikan Antibiotik BUKANLAH solusi dari semua masalah kesehatan.
Bukannya sembuh, anak malahan mendapatkan bahaya di kemudian hari. Apa saja bahayanya menggunakan Antibiotik secara tidak tepat (Irrasional)?
.
.
Yuk ikutan Siaran Live Instagram bersama dr. Lucky Yoga, SpA dan Kak apt. Erie Gusnellyanti, MKM (Nelly), membahas "Bahaya Penggunaan Antibiotik Irrasional pada Anak".
.
Minggu, 31 Mei 2020, 15.30 - 16.30 WIB
Di akun Instagram @dr.lucky.sp.a dan @nellysyukri
Follow dulu akunnya yaaa..
Jangan lupa dibagikan informasi ini sebanyak-sebanyaknya.
.
.
#antibiotik#bijakantibiotik#antibiotikbijak#saveantibiotic#antibiotikrasional#antimicrobialresistance#resistensiantimikroba
#rationaluseofmedicine
#apotekerindonesia
#dokterspesialisanak
#cerdasgunakanobat#gemacermat