Python subprocess.run: געבן איין קינד־באפעל זיין אייגענע פראקסי־סביבה
גיט א קאפירטע סביבה צו subprocess.run ווען איין קינד־באפעל דארף א פראקסי אן ענדערן Pythons סביבה פאר אנדער ארבעט.
א פראגראם אין Python קען געבן איין קינד־באפעל זיין אייגענע פראקסי־סביבה. קאפירט די ירשנה־ווערטן, ענדערט די קאפיע און גיט זי צו 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,
)דאס ביישפיל נעמט אן אז curl איז שוין פאראן. זיין HTTPS־בקשה קען ניצן א HTTP־פראקסי וואס שטיצט דעם פארלאנגטן טונעל. פאר דער דאזיקער קאנטראל פון א פובליקן וועבזייטל אן אויפגעשטעלטע פראקסי־קראדענציאלן קען א קאנדידאט פון דער HTTP־פראקסי־ליסטע איבערנעמען דעם ענדפונקט פונעם ביישפיל. דאס קינד באקומט ווייטער דעם איבעריקן טייל פון דער קאפירטער סביבה, אריינגערעכנט יעדע באטרעפנדיקע איבערהּפּ־איינשטעלונג.
איבערגעבן env גיט דער דאזיקער רוף יענע סביבה. די קאפיע פארמיידט ענדערן os.environ פאר אנדער ארבעט אין דעם Python־פראצעס.
צוטיילן גראד צו os.environ האט אויך באדייט: עס טוישט די פראצעס־סביבה פון Python און קען באאיינפלוסן קינדער וואס ווערן שפעטער אנגעהויבן. אבער עס טוישט נישט די שעל וואס האט אנגעהויבן Python, נישט קיין פרעמדע אפליקאציע און נישט קיין קינד וואס לויפט שוין.
אויב די כוונה איז צו ענדערן קומענדיקע באפעלן אין דער אינטעראקטיווער שעל, מאכט יענע ענדערונג אין דער שעל. אויב נאר איין אנגעהויבן געצייג דארף אן אנדער וועג, האלט זיין סביבה לעבן דער subprocess־רוף ווי געוויזן.