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-ის პროცესის გარემოს და შეიძლება გავლენა მოახდინოს შემდგომ გაშვებულ შვილებზე. ის არ აახლებს shell-ს, რომელმაც Python გაუშვა, არც დაუკავშირებელ აპლიკაციას და არც უკვე გაშვებულ შვილს.

თუ განზრახვაა თქვენს ინტერაქტიულ shell-ში მომავალი ბრძანებების შეცვლა, ეს ცვლილება shell-ში გააკეთეთ. თუ მხოლოდ ერთ გაშვებულ ხელსაწყოს სჭირდება სხვა მარშრუტი, შეინახეთ მისი გარემო subprocess გამოძახების გვერდით, როგორც ნაჩვენებია.

დაკავშირებული სტატიები