Python subprocess.run: gev einum barnarokningi sína egnu proxy-umhvørvi
Send eitt avskrivað umhvørvi til subprocess.run, tá ein barnarokningur tørvar ein proxy uttan at broyta Python-umhvørvið fyri annað arbeiði.
Eitt Python-forrit kann geva einari barnarokning eini sína egnu proxy-umhvørvi. Avskriva tey arvaðu virðini, broyta avskriftina og send hana til subprocess.run:
import os
import subprocess
child_env = os.environ.copy()
child_env["https_proxy"] = "http://proxy.example:8080"
subprocess.run(
["curl", "--head", "https://www.example.com/"],
env=child_env,
check=True,
timeout=30,
)Dømið gongur út frá at curl longu er tøkt. HTTPS-fyrispurningur hansara kann nýta ein HTTP-proxy, sum veitir tørvandi tunnilin. Til hesa kanning av einari almennari heimasíðu uttan uppsett proxy-innlating kann ein valmøguleiki úr HTTP-proxy-listanum taka staðin fyri endapunktin í døminum. Barnið fær framvegis restina av tí avskrivaða umhvørvinum, eisini viðkomandi umfaringsstillingar.
At senda env gevur hesi kallinu tað umhvørvið. Avskriftin forðar fyri at os.environ verður broytt fyri annað arbeiði í Python-rokningsferlinum.
At seta beinleiðis í os.environ hevur eisini týdning: tað dagførir rokningsferilsumhvørvið í Python og kann ávirka børn, sum verða sett í gongd seinni. Tað dagførir ikki skelina, ið setti Python í gongd, eitt óviðkomandi forrit ella eitt barn, sum longu koyrir.
Um ætlanin er at broyta komandi kommandó í tí interaktiva skelini, ger tá broytingina í skelini. Um bert eitt sett í gongd amboð tørvar aðra leið, halt tá umhvørvi tess við síðuna av subprocess-kallinum, sum víst.