Python + bash
Если вам часто требуется запускать shell команды из Python-кода, какой способ вы используете?
Самый низкоуровневый это функция os.system(), либо os.popen(). Рекомендованный способ это subprocess.call(). Но это всё еще достаточно неудобно.
Советую обратить своё внимание на очень крутую библиотеку sh.
Что она умеет?
🔸 удобный синтаксис вызова команд как функций
# os
import os
os.system("tar cvf demo.tar ~/")
# subprocess
import subprocess
subprocess.call(['tar', 'cvf', 'demo.tar', '~/'])
# sh
import sh
sh.tar('cvf', 'demo.tar', "~/")
🔸 простое создание функции-алиаса для длинной команды
fn = sh.lsof.bake('-i', '-P', '-n')
output = sh.grep(fn(), 'LISTEN')
в этом примере также задействован пайпинг
🔸 удобный вызов команд от sudo
with sh.contrib.sudo:
print(ls("/root"))
Такой запрос спросит пароль. Чтобы это работало нужно соответствующим способом настроить юзера.
А вот вариант с вводом пароля через код.
password = "secret"
sudo = sh.sudo.bake("-S", _in=password+"\n")
print(sudo.ls("/root"))
Это не все фишки. Больше интересных примеров смотрите в документации.
Специально для Windows💀 юзеров
#libs#linux
🌍 In Borneo’s rainforests, some fig trees act as “keystone species”—their fruit ripens year-round, feeding dozens of animal species when other food is scarce. ✨
#rainforest⚡#biodiversity⚡#tropics⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some tropical rainforests can hold over 400 different tree species in a single hectare—more tree diversity in one spot than all of Europe’s forests combined. ✨
#rainforest⚡#biodiversity⚡#tropics⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In some tropical rainforests, certain trees release chemicals that prevent other plants from growing near them, creating clear zones called "root exclusion areas" on the forest floor. ✨
#rainforest⚡#tropics⚡#biodiversity⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 More than half of the world’s known plant and animal species live in tropical rainforests, even though these forests cover less than 7% of Earth’s land surface. ✨
#rainforest⚡#biodiversity⚡#tropics⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Some rainforests get over 9 meters of rain each year. The Amazon alone releases so much water through plant transpiration that it creates its own cloud systems, influencing weather far beyond its borders. ✨
#rainforest⚡#tropics⚡#climate⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 In tropical rainforests, some plant leaves grow waxy surfaces and pointed tips called "drip tips." These features help water run off quickly, stopping mold and fungi in the damp climate. ✨
#rainforest⚡#tropics⚡#adaptation⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Costa Rica’s biodiversity hotspot holds more plant species in just one hectare than most European countries have nationwide, showcasing how concentrated life can be in these rare regions. ✨
#biodiversity⚡#conservation⚡#tropics⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The Tropic of Cancer (23.5° north) and Tropic of Capricorn (23.5° south) are the farthest points from the Equator where the Sun can be directly overhead at noon each year. ✨
#latitude⚡#sunlight⚡#tropics⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍