เดชเตˆเดคเตเดคเดฃเตเด‚ เดฌเดพเดทเต เดธเต—เดนเตƒเดฆเดตเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต: เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟ, เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ

เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดถเตเดญเดฆเดฟเดจเด‚.

เด‡เดจเตเดจเต, เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เด‰เตฝเดชเตเดชเดจเตเดจเด™เตเด™เตพ เดธเตเดตเดฏเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด• เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด…เดตเดฏเตเดŸเต† เด…เดŸเดฟเดธเตเดฅเดพเดจ เดธเต—เด•เดฐเตเดฏเด™เตเด™เตพ เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดฎเต‡เด–เดฒเดฏเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดญเดพเดทเด•เดณเดฟเดฒเตŠเดจเตเดจเดพเดฃเต เดชเตˆเดคเตเดคเตบ. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดชเดฒ เดกเต†เดตเต‹เดชเตเดชเตเด•เดณเตเด‚, เด…เดตเดฐเตเดŸเต† เด‡เดทเตเดŸเดชเตเดฐเด•เดพเดฐเดฎเต‹ เดŽเดคเดฟเตผเดคเตเดคเต‹, เดจเดฒเตเดฒ เดชเดดเดฏ เดฌเดพเดทเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดจเตเดฌเดจเตเดงเดฎเดพเดฏเดฟ เดชเดฟเดจเตเดจเต€เดŸเตเดณเตเดณ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเตเดคเดฟเดฏ เดญเดพเดท เดชเด เดฟเด•เตเด•เต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฌเดพเดทเตเด‚ เดชเตˆเดคเตเดคเดฃเตเด‚ เด•เต‹เดกเต เดŽเดดเตเดคเตเดจเตเดจเดคเดฟเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเดฎเต€เดชเดจเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดšเดฟเดฒ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด‰เดฃเตเดŸเต, เด…เดคเดพเดฏเดคเต เดฌเดพเดทเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ "เดชเดพเดฎเตเดชเต เดญเดพเดท" เดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดšเดฟเดฒเดชเตเดชเต‹เตพ เด•เดดเดฟเดตเตเดณเตเดณเดคเตเด‚ เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏ เดœเต‹เดฒเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดณเดฐเต† เด…เด•เดฒเต†เดฏเตเดฎเดพเดฃเต.

devops-เดจเตเดฑเต† เดœเต€เดตเดฟเดคเด‚ เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดชเตˆเดคเตเดคเดฃเดฟเตฝ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเด‚ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เดณเตเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเต, เด…เดต เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฐเดšเดฏเดฟเดคเดพเดตเต เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดฐเดฃเตเดŸเต เดชเตเดคเดฟเดฏ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเต† เดˆ เดฒเต‡เด–เดจเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต - เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟ ะธ เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ - เดชเตˆเดคเตเดคเดฃเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดคเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เต‚เดŸเตเดคเตฝ เดถเตเดฐเดฆเตเดง เดšเต†เดฒเตเดคเตเดคเต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดคเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต devops เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเดฏ เดœเต‹เดฒเดฟเด•เตพเด•เตเด•เต เด‡เดŸเด‚ เดจเตฝเด•เตเดจเตเดจเต. เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเด‚ เดฌเดพเดนเตเดฏ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเดŸเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเตเดฏเดพเดชเตเดคเดฟ.

เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดตเตผ เดชเต‚เดšเตเดšเดฏเต† เด•เดพเดฃเตเด•.

เดชเตเดคเดฟเดฏ "เดธเตˆเด•เตเด•เดฟเดณเตเด•เตพ"?

เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดชเตเดคเดฟเดฏ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต? os.environ, subprocess เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เดณเต† เดคเดŸเดฏเตเดจเตเดจเดคเต†เดจเตเดคเดพเดฃเต. เดจเต‡เดฐเดฟเดŸเตเดŸเต?

เด“เดฐเต‹ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตเด•เตเด‚ เด…เดจเตเด•เต‚เดฒเดฎเดพเดฏ เดคเต†เดณเดฟเดตเตเด•เตพ เดžเดพเตป เดชเตเดฐเดคเตเดฏเต‡เด•เด‚ เดจเตฝเด•เตเด‚.

smart-env เดฒเตˆเดฌเตเดฐเดฑเดฟ

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดฌเตเดฆเตเดงเดฟเดถเด•เตเดคเดฟ เดŽเดดเตเดคเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เด“เตบเดฒเตˆเดจเดฟเตฝ เดชเต‹เดฏเดฟ เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดจเต‹เด•เตเด•เตเดจเตเดจเดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เดพเดคเตเดค เด…เดชเด•เดŸเดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด’เดฐเต "เด‡เตปเดทเตเดฑเตปเดธเต เด‡เดตเดจเตเดฑเต" เด†เดฃเต. เดšเดŸเตเดŸเด‚ เดชเต‹เดฒเต†, เดˆ เดธเดฎเต€เดชเดจเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดงเดพเดฐเดพเดณเด‚ เดธเดฎเดฏเดตเตเด‚ เดชเดฐเดฟเดถเตเดฐเดฎเดตเตเด‚ เดฒเดพเดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดซเดฒเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดคเดฟเดฐเดฏเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดตเต†เดณเดฟเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ:

  • เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ os.environ-เดฒเต‡เด•เตเด•เต เด•เต‹เดณเตเด•เตพ เดชเตŠเดคเดฟเดฏเตเดจเตเดจ เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด…เดคเต‡ เดธเดฎเดฏเด‚ เดคเดจเตเดจเต† เดถเตเดฐเดฆเตเดง เดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต (เด’เดฐเต เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตฝ, เด•เต‹เดณเตเด•เดณเดฟเตฝ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดฎเตเดคเดฒเดพเดฏเดต);
  • เดจเดฒเตเดฒ เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเตเดฃเตเดŸเต, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด…เดต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด†เดตเดพเดธเดตเตเดฏเดตเดธเตเดฅเดฏเตเดฎเดพเดฏเดฟ (เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เดœเดพเด™เตเด•เต‹ เดชเต‹เดฒเตเดณเตเดณ เดตเต†เดฌเต เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเตเด•เตพ) เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด’เดฐเต เดซเดฏเดฒเดฟเดฒเตเดฒเดพเดคเต† เดธเดพเตผเดตเดคเตเดฐเดฟเด•เดฎเดฒเตเดฒ;
  • เดชเตเดคเตเดคเดพเดฏเดฟ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดถเตเดฐเดฎเด™เตเด™เตพ เด…เดชเต‚เตผเดตเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เดšเต‡เตผเด•เตเด•เตเด• เดชเต‹เดฒเตเดณเตเดณ เดฐเต€เดคเดฟเด•เตพ เดตเดฟเดณเดฟเดšเตเดšเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเด•
    get_<typename>(var_name)

    เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดตเดฟเดŸเต† เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด•เต‚เดŸเดฟ, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดคเต เด‡เดชเตเดชเต‹เตพ เด…เดชเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸ เดชเตˆเดคเตเดคเตบ 2 เดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ (เด‡เดคเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดŸเตเดŸเตเด‚ เด”เดฆเตเดฏเต‹เด—เดฟเด• เด†เตผ.เด.เดชเดฟ., เดŽเดดเตเดคเดชเตเดชเต†เดŸเตเดŸ เด•เต‹เดกเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดฎเตเดดเตเดตเตป เด†เดตเดพเดธเดตเตเดฏเดตเดธเตเดฅเดฏเตเดŸเต†เดฏเตเด‚ เดชเตผเดตเดคเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ เด‰เดฃเตเดŸเต);

  • เดšเดฟเดฒ เด…เดœเตเดžเดพเดคเดฎเดพเดฏ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ, เด…เดชเตโ€Œเดธเตโ€ŒเดŸเตเดฐเต€เด‚ PyPI-เดฏเดฟเตฝ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดคเดฟเดฏ เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเตเดŸเต† เดชเต‡เดฐเดฟเดŸเตเดจเตเดจเดคเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดธเตโ€Œเด•เต‚เตพ-เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟ เด•เดฐเด•เตŒเดถเดฒเด™เตเด™เดณเตเดฃเตเดŸเต (เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต, "เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟ" เดŽเดจเตเดจ เดชเต‡เดฐเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เด…เดณเดตเตเด•เต‹เดฒเดพเดฃเต).

เด•เต‚เดŸเดพเดคเต† เดˆ เดชเดŸเตเดŸเดฟเด• เดตเดณเดฐเต†เด•เตเด•เดพเดฒเด‚ เดคเตเดŸเดฐเดพเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดตเตเด‚ เดธเดพเตผเดตเดคเตเดฐเดฟเด•เดตเตเดฎเดพเดฏ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเด• เดŽเดจเตเดจ เด†เดถเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดจเตเดจเต† เด†เดตเต‡เดถเดญเดฐเดฟเดคเดจเดพเด•เตเด•เดพเตป เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดฎเดคเดฟเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต.

Smart-env เดŽเดดเตเดคเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏ เด†เดตเดถเตเดฏเด•เดคเด•เตพ:

  • เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เด‰เดชเดฏเต‹เด— เดชเดฆเตเดงเดคเดฟ
  • เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดกเดพเดฑเตเดฑ เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เดชเดฟเดจเตเดคเตเดฃ
  • เดชเตˆเดคเตเดคเตบ 2.7 เด…เดจเตเดฏเต‹เดœเตเดฏเด‚
  • เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดตเดดเดฟ เดจเดฒเตเดฒ เด•เต‹เดกเต เด•เดตเดฑเต‡เดœเต

เด’เดŸเตเดตเดฟเตฝ, เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดžเตเดžเต. เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดพ:

from smart_env import ENV

print(ENV.HOME)  # Equals print(os.environ['HOME'])

# assuming you set env variable MYVAR to "True"

ENV.enable_automatic_type_cast()

my_var = ENV.MY_VAR  # Equals boolean True

ENV.NEW_VAR = 100  # Sets a new environment variable

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเดจเดพเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เด’เดฐเต เดชเตเดคเดฟเดฏ เด•เตเดฒเดพเดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป, เดจเดฟเด™เตเด™เตพ เด…เดคเต เด‡เดฑเด•เตเด•เตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต (เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ - เด…เดงเดฟเด• เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเด•). ENV เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดพเดฏเดฟ เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดšเดพเดฃเต เดเดคเตŠเดฐเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดชเตเดฐเดตเต‡เดถเดจเด‚ เดจเต‡เดŸเตเดจเตเดจเดคเต, เด‡เดคเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดˆ เด•เตเดฒเดพเดธเดฟเดจเต† เดจเต‡เดฑเตเดฑเต€เดตเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเดฟเดจเตเดณเตเดณ เด…เดตเดฌเต‹เดงเดœเดจเตเดฏเดฎเดพเดฏ เดฑเดพเดชเตเดชเดฑเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต, เด…เดคเต‡ เดธเดฎเดฏเด‚ เด‡เดคเต เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเด‚ เดธเดพเดงเตเดฏเดฎเดพเดฏ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต ( เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดธเดฎเต€เดชเดจเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดœเดพเด‚เด—เต‹เดฏเดฟเตฝ เด•เตˆเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดตเดฟเดŸเต† เดฎเดพเดคเตเดฐเดฎเต‡ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต เด•เตเดฐเดฎเต€เด•เดฐเดฃ เดฎเตŠเดกเตเดฏเต‚เตพ/เดชเดพเด•เตเด•เต‡เดœเต เด†เดฃเต).

เดฐเดฃเตเดŸเต เดฐเต€เดคเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เดธเดชเตเดชเต‹เตผเดŸเตเดŸเต เดฎเต‹เดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต/เด…เดชเตเดฐเดพเดชเตโ€Œเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต - enable_automatic_type_cast(), disable_automatic_type_cast(). เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เด’เดฐเต เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดค JSON เดชเต‹เดฒเตเดณเตเดณ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดฌเต‚เดณเดฟเดฏเตป เดธเตเดฅเดฟเดฐเดพเด™เตเด•เด‚ เดชเต‹เดฒเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เด‡เดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ (เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเต† "เดธเดพเดงเตเดตเดพเดฏ" เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดคเตเด•เตŠเดฃเตเดŸเต เดœเดพเด‚เด—เต‹เดฏเดฟเตฝ เดกเต€เดฌเด—เต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดเดฑเตเดฑเดตเตเด‚ เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เด•เต‡เดธเตเด•เดณเดฟเตฝ เด’เดจเตเดจเดพเดฃเต). เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ - เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเดฟเด•เตเด• เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เด†เดดเดคเตเดคเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด’เดฐเต เดธเดฟเด—เตเดจเดฒเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. ๐Ÿ™‚ เดชเตŠเดคเตเดตเต‡, เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เดธเตเดคเดพเดฐเตเดฏเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฒเดญเตเดฏเดฎเดพเดฏ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดŽเดฒเตเดฒเดพ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดกเดพเดฑเตเดฑเดพ เดคเดฐเด™เตเด™เดณเต†เดฏเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เดซเตเดฐเต‹เดธเตบเดธเต†เดฑเตเดฑเต, เด•เต‹เด‚เดชเตเดฒเด•เตเดธเต, เดฌเตˆเดฑเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ).

เดชเตˆเดคเตเดคเตบ 2-เดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค เดซเดฒเดคเตเดคเดฟเตฝ เดฏเดพเดคเตŠเดฐเต เดคเตเดฏเดพเด—เดตเตเด‚ เด•เต‚เดŸเดพเดคเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ (เดชเตˆเดคเตเดคเตบ 3-เดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเตเด•เดณเตเดŸเต† เดŸเตˆเดชเตเดชเดฟเด‚เด—เตเด‚ เดšเดฟเดฒ "เดชเดžเตเดšเดธเดพเดฐ เดฎเดฟเด เดพเดฏเดฟเด•เดณเตเด‚" เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตฝ), เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚, เดธเตผเดตเตเดตเดตเตเดฏเดพเดชเดฟเดฏเดพเดฏ เด†เดฑเดฟเดจเต เดจเดจเตเดฆเดฟ (เดฎเต†เดฑเตเดฑเดพเด•เตเดฒเดพเดธเตเดธเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต. ).

เดŽเดจเตเดจเดพเตฝ เดšเดฟเดฒ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพ เด‰เดฃเตเดŸเต:

  • เดชเตˆเดคเตเดคเตบ 3 เดชเดฟเดจเตเดคเตเดฃ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดชเดคเดฟเดชเตเดชเต 3.5 เด‰เด‚ เด…เดคเดฟเดฒเตเด‚ เด‰เดฏเตผเดจเตเดจเดคเตเดฎเดพเดฃเต (เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเต† เด…เดตเดฐเตเดŸเต† เดธเดพเดจเตเดจเดฟเดฆเตเดงเตเดฏเด‚ เด’เดจเตเดจเตเด•เดฟเตฝ เด…เดฒเดธเดคเดฏเตเดŸเต†เดฏเต‹ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเตเดฑเต†เดฏเต‹ เดซเดฒเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ 3.4-เตฝ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดตเดธเตเดคเตเดจเดฟเดทเตเด เดฎเดพเดฏ เด•เดพเดฐเดฃเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต);
  • เดชเตˆเดคเตเดคเตบ 2.7-เตฝ, เดธเต†เดฑเตเดฑเต เดฒเดฟเดฑเตเดฑเดฑเดฒเตเด•เดณเตเดŸเต† เดกเต€เดธเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเต† เดฒเตˆเดฌเตเดฐเดฑเดฟ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดตเดฟเดตเดฐเดฃเด‚ เด‡เดตเดฟเดŸเต†. เดŽเดจเตเดจเดพเตฝ เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดตเดพเด—เดคเด‚ :);

เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตเด•เต เด’เดดเดฟเดตเดพเด•เตเด•เดพเดจเตเดณเตเดณ เดธเด‚เดตเดฟเดงเดพเดจเดตเตเดฎเตเดฃเตเดŸเต. เดฒเดญเตเดฏเดฎเดพเดฏ เด…เดจเดฒเตˆเดธเดฑเตเด•เตพเด•เตเด•เต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดฎเต‚เดฒเตเดฏเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดพเดฏเดฟ เดคเตเดŸเดฐเตเด‚ (เดชเด•เดฐเด‚, เดฌเดพเดทเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเดพเดงเดพเดฐเดฃ เดฒเต‹เดœเดฟเด•เตเด•เตเดฎเดพเดฏเตเดณเตเดณ เดธเตŒเด•เดฐเตเดฏเดตเตเด‚ เดชเดฟเดจเตเดจเดพเด•เตเด• เด…เดจเตเดฏเต‹เดœเตเดฏเดคเดฏเตเด‚ เด•เดพเดฐเดฃเด‚).

เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟ

เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด‡เดชเตเดชเต‹เตพ เดžเดพเตป เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚ (เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เด…เดจเดฒเต‹เด—เตเด•เดณเตเดŸเต† เดชเต‹เดฐเดพเดฏเตเดฎเด•เดณเตเดŸเต† เดตเดฟเดตเดฐเดฃเด‚ เดžเดพเตป เด’เดดเดฟเดตเดพเด•เตเด•เตเด‚ - เด‡เดคเต เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟเด•เตเด•เต เดตเดฟเดตเดฐเดฟเดšเตเดšเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต. เด…เดจเดฒเต‹เด—เตเด•เตพ - เด‡เดตเดฟเดŸเต† ะธ เด‡เดตเดฟเดŸเต†).

เดชเตŠเดคเตเดตเต‡, เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ เดŽเดจเตเดจ เด†เดถเดฏเดตเตเด‚ เด…เดคเดฟเดจเตเดณเตเดณ เด†เดตเดถเตเดฏเด•เดคเด•เดณเตเด‚ เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟเด•เตเด•เต เดตเดฟเดตเดฐเดฟเดšเตเดšเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚:

from python_shell import Shell

Shell.ls('-l', '$HOME')  # Equals "ls -l $HOME"

command = Shell.whoami()  # Equals "whoami"
print(command.output)  # prints your current user name

print(command.command)  # prints "whoami"
print(command.return_code)  # prints "0"
print(command.arguments)  # prints ""

Shell.mkdir('-p', '/tmp/new_folder')  # makes a new folder

เด†เดถเดฏเด‚ เด‡เดคเดพเดฃเต:

  1. เดชเตˆเดคเตเดคเตบ เดฒเต‹เด•เดคเตเดคเต เดฌเดพเดทเดฟเดจเต† เดชเตเดฐเดคเดฟเดจเดฟเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเตŠเดฑเตเดฑ เด•เตเดฒเดพเดธเต;
  2. เด“เดฐเต‹ เดฌเดพเดทเต เด•เดฎเดพเตปเดกเดฟเดจเต†เดฏเตเด‚ เดทเต†เตฝ เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเตป เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต;
  3. เด“เดฐเต‹ เดซเด‚เด—เตโ€Œเดทเตป เด•เต‹เดณเดฟเดจเตเดฎเตเดณเตเดณ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด…เดจเตเดฌเดจเตเดง เดฌเดพเดทเต เด•เดฎเดพเตปเดกเต เด•เต‹เดณเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต;
  4. เด“เดฐเต‹ เด•เดฎเดพเตปเดกเตเด‚ "เด‡เดตเดฟเดŸเต†เดฏเตเด‚ เด‡เดชเตเดชเต‹เดณเตเด‚" เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดจเดฟเดฎเดฟเดทเดคเตเดคเดฟเตฝ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต. เดธเดฟเตปเด•เตเดฐเดฃเดธเต เดธเดฎเต€เดชเดจเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต;
  5. stdout-เตฝ เด’เดฐเต เด•เดฎเดพเตปเดกเดฟเดจเตเดฑเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดฑเดฟเดŸเตเดŸเต‡เตบ เด•เต‹เดกเตเด‚ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เดธเดพเดงเดฟเด•เตเด•เตเด‚;
  6. เด•เดฎเดพเตปเดกเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เด…เดชเดตเดพเดฆเด‚ เดŽเดฑเดฟเดฏเตเดจเตเดจเต.

Smart-env เดชเต‹เดฒเต†, เดชเตˆเดคเตเดคเตบ 2-เดจเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฃเตเดŸเต (เด•เตเดฑเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดคเตเดฏเดพเด—เดชเดฐเดฎเดพเดฏ เดฐเด•เตเดคเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเดฒเตเด‚) เดชเตˆเดคเตเดคเตบ 3.0-3.4-เดจเต เดชเดฟเดจเตเดคเตเดฃเดฏเดฟเดฒเตเดฒ.

เดฒเตˆเดฌเตเดฐเดฑเดฟ เดตเดฟเด•เดธเดจ เดชเดฆเตเดงเดคเดฟเด•เตพ

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚: เดฐเดฃเตเดŸเตเด‚ เด”เดฆเตเดฏเต‹เด—เดฟเด• PyPI-เดฏเดฟเตฝ เดชเต‹เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ Github-เตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต (เดšเตเดตเดŸเต† เด•เดพเดฃเตเด•).

เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเดตเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เต เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต เดฐเดฃเตเดŸเต เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เดณเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เด•เต‚เดŸเดพเดคเต†, เดธเตเดฎเดพเตผเดŸเตเดŸเต-เดŽเตปเดตเดฟเดฏเดฟเตฝ เดตเตˆเดตเดฟเดงเตเดฏเดฎเดพเตผเดจเตเดจ เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด•เตŠเดฃเตเดŸเตเดตเดฐเตเดจเตเดจเดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเตˆเดคเตเดคเตบ-เดทเต†เดฒเตเดฒเดฟเตฝ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต‡เตผเด•เตเด•เดพเดจเตเดฃเตเดŸเต:

  • เดจเต‹เตบ-เดฌเตเดฒเต‹เด•เตเด•เต เด•เต‹เดณเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ;
  • เดŸเต€เดฎเตเดฎเดพเดฏเดฟ เดธเด‚เดตเต‡เดฆเดจเดพเดคเตเดฎเด• เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค (stdin-เดจเตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต);
  • เดชเตเดคเดฟเดฏ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, stderr-เตฝ เดจเดฟเดจเตเดจเต เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ);
  • เดฒเดญเตเดฏเดฎเดพเดฏ เด•เดฎเดพเตปเดกเตเด•เดณเตเดŸเต† เด’เดฐเต เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ (dir() เดซเด‚เด—เตโ€Œเดทเดจเตเดณเตเดณ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดพเดฏเดฟ);
  • เด…เดคเตเดชเต‹เดฒเต†.

เดฑเต†เดซเดฑเตปเดธเตเด•เตพ

  1. smart-env เดฒเตˆเดฌเตเดฐเดฑเดฟ: เดธเดพเดฎเต‚เดนเดฟเด•เด‚ ะธ PYPI
  2. เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟ: เดธเดพเดฎเต‚เดนเดฟเด•เด‚ ะธ PYPI
  3. เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดšเดพเดจเตฝ เดฒเตˆเดฌเตเดฐเดฑเดฟ เด…เดชเตเดกเต‡เดฑเตเดฑเตเด•เตพ

UPD 23.02.2020/XNUMX/XNUMX:
* เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดจเต€เด•เตเด•เดฟ, เด…เดจเตเดฌเดจเตเดง เดฒเดฟเด™เตเด•เตเด•เตพ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเต
* เดชเตˆเดคเตเดคเตบ-เดทเต†เตฝ==1.0.1 เดชเดคเดฟเดชเตเดชเต 29.02.2020/XNUMX/XNUMX-เดจเต เดฑเดฟเดฒเต€เดธเดฟเดจเต เดคเดฏเตเดฏเดพเดฑเต†เดŸเตเด•เตเด•เตเดจเตเดจเต. เด•เดฎเดพเตปเดกเต เด“เดŸเตเดŸเต‹เด•เด‚เดชเตเดฒเต€เดฑเตเดฑเต, dir(Shell) เด•เดฎเดพเตปเดกเต เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ, เด…เดธเดพเดงเตเดตเดพเดฏ เดชเตˆเดคเตเดคเตบ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เดฎเดพเตปเดกเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เดฌเด—เต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตฝ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•