Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
🏆 2026 ASIA STAR ENTERTAINER AWARDS
ASEA Fan Choice Singer 🎤
🗓️ Ends: 17 May 2026
📱 My1Pick App
Link : Voting Link
fsn-app.my1pick.com/app/link/theme…
📱 Podoal App
Link : Voting Link
global.podoal.io/app/fandings/5…
📱 Mubeat App
Link : Voting Link
mubeat.applink.info/9hFE0waZsG
📍Check Comment Box for Tutorial
🤍💫 | #voting
@foreverbulletproof7
🏆 MUSIC AWARDS JAPAN
Best of Listeners’: International Song by Spotify
📣 Vote for DSYLM in Music Awards Japan Best of Listeners’ Choice!! 🏃♀️🫷
🗳️ 2 vts for Premium | 1 vt for Non-Premium
📆 Final voting ends on May 20
Link : open.spotify.com/playlist/37i9d…
📍Check Comment Box for Tutorial
🤍💫 | #voting
@foreverbulletproof7
🏆 SEOUL MUSIC AWARD 2026
BTS are nominated in 3 categories:
🏆 Korea Wave Award:
Link : promo-web.idolchamp.com/app_proxy.html…
🏆 Popularity Award:
Link : promo-web.idolchamp.com/app_proxy.html…
🏆 K-pop World Choice - Group:
Link : promo-web.idolchamp.com/app_proxy.html…
📝 Criteria: 100% voting
⏰ Ends May 28, 2026 23:59 (KST) on Idol Champ
📍Check Comment Box for Tutorial
🤍💫 | #voting
@foreverbulletproof7
🏆 Seoul Music Awards
🛑 Focus your votes on Korea Wave Award category!
⇢ Korea Wave Award - #1 BTS 57.85%
App: Idol Champ
Period: 05.08~05.28
Result: sum of all rounds
🤍💫 | #voting
@foreverbulletproof7
[🏆 2026 ASIA STAR ENTERTAINMENT AWARDS]
🛑 5 DAYS LEFT for Fan Choice Singer Final Voting
👉🏻 Status 🚨
▶️ Mubeat #4
▶️ Podoal #7 🔺
▶️ My1Pick #6 🔺
▶️ 100% Voting
▶️ until 5/17
🤍💫 | #voting
@foreverbulletproof7
Everyone please vote for BTS for Forbes Popularity on Mnet plus.
Voting is super easy, We do not have much time.
🔻 : https://play.google.com/store/apps/dev?id=4990449589140386036
🤍💫 | #voting
@foreverbulletproof7
The winners of AMAs will be announced at the AMAs Award Show 💜
⏰ DATE | TIME:
🇺🇸 May 25 at 8PM ET
🇺🇸 May 26 at 9AM KST
🤍💫 | #voting
@foreverbulletproof7
VOTE FOR BTS FOR FORBES POWER 40 CELEBRITY 2026
We’re falling behind fast 🔴 and the gap won’t close on its own
Start collecting MplePoints and cast your votes for BTS! 🌊🏄♂️
LINK : mnetplus.onelink.me/TRa8/xohkwx0b?…
🤍💫 | #voting
______
@foreverbulletproof7
______
BTS has been nominated for the ‘Power Celebrity 40’ list by Forbes Korea.
🏆 Prizes:
• Trophy
• Online PR
• Feature in Forbes Korea Magazine
📲 Vote via Mnet Plus App
Vote here: mnetplus.onelink.me/TRa8/xohkwx0b?…
Ends: May 10, 11:59PM KST
🤍💫 | #voting
@foreverbulletproof7
⚖️🗳️SUPREME COURT CASE COULD RESHAPE VOTING RIGHTS ACT
🔹 Louisiana v Callais challenges constitutionality of Section 2 of Voting Rights Act 📋
🔹 Case targets law prohibiting electoral discrimination based on race nationwide ⚡
🔹 Ruling against could eliminate or dilute Black and Hispanic-majority districts 💀
🔹 Up to nineteen Democratic-held seats primarily in the South at risk 🚨
🔹 Florida, Kentucky, Virginia pursuing mid-decade redistricting before midterms 🗺️
🔹 Governor DeSantis calls special legislative session for April redistricting 🏛️
Major implications for November midterms and minority representation 🔥📊
#USNews#voting
Trending Apps: Enhance Voting with Your Feedback
#Voting#Apps
Trending Apps introduces a new Voting feature and seeks user feedback to improve it. Users can report bugs, suggest improvements, or share ideas to help refine the Apps Center.
Source: link
@tonlines