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
🌍 Temperate grasslands like the Eurasian steppes can experience temperature swings of over 40°C between summer and winter, creating some of the planet’s most extreme seasonal contrasts. ✨
#grasslands⚡#savanna⚡#climate⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some savannas and grasslands support massive termite mounds reaching over 8 meters high. These structures regulate temperature and moisture, acting as tiny skyscrapers for entire insect communities. ✨
#savanna⚡#grassland⚡#biodiversity⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In South America’s Cerrado grassland, more than 4,800 plant species are found only there. This savanna rivals the Amazon in biodiversity but is rapidly disappearing to farmland. ✨
#savanna⚡#grassland⚡#biodiversity⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some African savannas are home to "whistling thorn" trees, which grow hollow spines. Tiny ants live inside and defend the tree from animals, forming a team-up rarely seen in grassland ecosystems. ✨
#savanna⚡#grassland⚡#biodiversity⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 The African savanna is so vast it supports the world’s largest land migration—over 1.5 million wildebeest travel hundreds of kilometers each year in search of fresh grass. ✨
#savanna⚡#migration⚡#wildlife⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 The Serengeti savanna in Africa hosts one of the world’s largest mammal migrations—zebras cross first, followed by wildebeest, each group timing their journey to feed on different heights of grass. ✨
#savanna⚡#migration⚡#ecosystems⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Tropical savannas can burn naturally every 1–3 years, yet some species, like the baobab tree, thrive by storing water in thick trunks to survive both drought and fire. ✨
#savanna⚡#grassland⚡#adaptation⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Africa’s Miombo savanna covers over 2.7 million square kilometers—about the size of Argentina. Its woodlands support hundreds of unique butterfly species found nowhere else on Earth. ✨
#savanna⚡#grasslands⚡#ecosystems⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some grassland plants grow deep roots reaching over 2 meters underground. These roots help the plants survive drought and anchor soil, making grasslands some of the most erosion-resistant landscapes. ✨
#grasslands⚡#savanna⚡#ecology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Grasslands cover about 40% of Earth’s land surface and are found on every continent except Antarctica. Some of the world’s richest soils, called mollisols, form in temperate grasslands. ✨
#grasslands⚡#savanna⚡#soil⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Seasonal fires in some savannas are so regular that certain plants have evolved to flower or sprout only after being scorched, using fire as a natural part of their life cycle. ✨
#savanna⚡#grassland⚡#fire⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some grassland fires are started by lightning and play a natural role in shaping these ecosystems. Fire clears old growth, helps seeds sprout, and maintains open habitat for many animals. ✨
#savanna⚡#grassland⚡#fire⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍