เบเบฒเบ™เบชเป‰เบฒเบ‡เบกเบดเบ”เบ•เบฐเบžเบฒเบš Python เปเบฅเบฐ Bash: smart-env เปเบฅเบฐ python-shell libraries

เบกเบทเป‰เบ—เบตเปˆเบ”เบตเบ—เบธเบเบ„เบปเบ™.

เปƒเบ™เบกเบทเป‰เบ™เบตเป‰, Python เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเปƒเบŠเป‰เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบ”เป‰เบฒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบŠเบญเบšเปเบงเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เปเบ•เปˆเบเบฑเบ‡เบชเบฐเบซเบ™เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบซเบผเบฒเบเป†เบ„เบปเบ™, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป‚เบ”เบเบ„เบงเบฒเบกเบ•เบฑเป‰เบ‡เปƒเบˆเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบซเบผเบทเบ•เปเปˆเบ•เป‰เบฒเบ™, เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฝเบ™เบฎเบนเป‰เบžเบฒเบชเบฒเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เปเปˆเบกเบฒเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบชเบตเบกเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Bash เป€เบเบปเปˆเบฒเบ—เบตเปˆเบ”เบต. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, Bash เปเบฅเบฐ Python เบ›เบฐเบเบญเบšเบญเบฒเบŠเบตเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เป€เบญเบปเบฒเบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบท Bash เป„เบ›เบซเบฒ "เบžเบฒเบชเบฒเบ‡เบน" เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปเปˆเบเบฒเบเป€เบ›เบฑเบ™เบงเบฝเบเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปเบฅเบฐเบขเบนเปˆเป„เบเบˆเบฒเบเบงเบฝเบเบ‡เบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ.

เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบš devops, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเปƒเบ™ Python เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเบชเป‰เบฒเบ‡. เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบญเบฐเบ—เบดเบšเบฒเบเบชเบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปƒเบซเบกเปˆเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰ - smart-env ะธ python-shell - เปเบฅเบฐเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบšเบฑเบ™เป€เบ—เบปเบฒ devops เบˆเบฒเบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบเบเบฑเบš intricacies เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Python, เบ›เปˆเบญเบเปƒเบซเป‰เบซเป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ. เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบเบดเบ”เบˆเบฐเบเปเบฒเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบกเปˆเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบฅเบฐเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบชเบดเปˆเบ‡เบญเปเบฒเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบžเบฒเบเบ™เบญเบ.

เปƒเบœเบชเบปเบ™เปƒเบˆเบเบฐเบฅเบธเบ™เบฒเป€เบšเบดเปˆเบ‡เปเบกเบง.

"เบฅเบปเบ”เบ–เบตเบš" เปƒเบซเบกเปˆ?

เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบˆเบถเปˆเบ‡เบชเป‰เบฒเบ‡เบŠเบธเบ”เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ—เปเบฒเบกเบฐเบ”เบฒ? เปเบกเปˆเบ™เบซเบเบฑเบ‡เบ›เป‰เบญเบ‡เบเบฑเบ™เบ—เปˆเบฒเบ™เบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ os.environ เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปˆเบญเบ.<เบงเบดเบ—เบตเบเบฒเบ™เบซเบผเบทเบซเป‰เบญเบ‡เบฎเบฝเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบฅเบทเบญเบ> เป‚เบ”เบเบเบปเบ‡?

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เบซเบผเบฑเบเบ–เบฒเบ™เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” smart-env

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเป„เบ›เบญเบญเบ™เป„เบฅเบ™เปŒเปเบฅเบฐเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก. เปเบ™เปˆเบ™เบญเบ™, เบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ—เบตเปˆเบˆเบฐเบšเปเปˆเบžเบปเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™ "เป€เบซเบ”เบเบฒเบ™เบ›เบฐเบเบฑเบ™เป„เบž". เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบ›เบฐเบซเบเบฑเบ”เป€เบงเบฅเบฒเปเบฅเบฐเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบซเบผเบฒเบ.

เบญเบตเบ‡เบ•เบฒเบกเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš เบ„เบปเป‰เบ™เบซเบฒ เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เป€เบœเบตเบ:

  • เบกเบตเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ—เบตเปˆเบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบซเปเปˆเบเบฒเบ™เป‚เบ—เบเบฑเบš os.environ, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบŠเปเปˆเบ‚เบญเบ‡เบเบฒเบ™เบเบฐเบ—เปเบฒเบ—เบตเปˆเบฅเบปเบšเบเบงเบ™ (เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบฎเบฝเบ™, เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบžเบดเป€เบชเบ”เปƒเบ™เบเบฒเบ™เป‚เบ—, เปเบฅเบฐเบญเบทเปˆเบ™เป†);
  • เบกเบตเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ—เบตเปˆเบ”เบต, เป€เบŠเบดเปˆเบ‡, เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ–เบทเบเบœเบนเบเบกเบฑเบ”เบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบเบฑเบšเบฅเบฐเบšเบปเบšเบ™เบดเป€เบงเบ”เบชเบฐเป€เบžเบฒเบฐ (เบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เบเบญเบšเป€เบงเบฑเบšเป€เบŠเบฑเปˆเบ™ Django) เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบšเปเปˆเปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›เป‚เบ”เบเบšเปเปˆเบกเบตเป„เบŸเบฅเปŒ;
  • เบกเบตเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบญเบฑเบ™เปƒเปเปˆเบ—เบตเปˆเบซเบฒเบเบฒเบ. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡, เป€เบžเบตเปˆเบกเบเบฒเบ™เบžเบดเบก เปเบฅเบฐ parse เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบ„เปˆเบฒเบ•เบปเบงเปเบ›เป‚เบ”เบเบเบฒเบ™เป‚เบ—เบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เป€เบŠเบฑเปˆเบ™:
    get_<typename>(var_name)

    เบซเบผเบทเบ—เบตเปˆเบ™เบตเป‰ เบซเบ™เบถเปˆเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบดเปˆเบ‡, เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Python 2 เบ—เบตเปˆเบซเบ™เป‰เบฒเบเบฝเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ (เบŠเบถเปˆเบ‡, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ RIP เบขเปˆเบฒเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบฒเบ‡โ€‹เบเบฒเบ™, เบเบฑเบ‡เบกเบตเบžเบนเป€เบ‚เบปเบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ™เปเบฅเบฐเบฅเบฐเบšเบปเบšเบ™เบดเป€เบงเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”);

  • เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบซเบฑเบ”เบ–เบฐเบเปเบฒเบ‚เบญเบ‡เบ™เบฑเบเบฎเบฝเบ™เบ—เบตเปˆ, เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰เบˆเบฑเบเบšเบฒเบ‡เบขเปˆเบฒเบ‡, เป„เบ”เป‰เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เปƒเบ™ PyPI เป€เบ—เบดเบ‡เบ™เป‰เปเบฒเปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบชเป‰เบฒเบ‡เบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเบ‚เบญเบ‡เบŠเบธเบ”เปƒเบซเบกเปˆ (เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบŠเบทเปˆ "smart-env" เปเบกเปˆเบ™เบกเบฒเบ”เบ•เบฐเบเบฒเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™).

เปเบฅเบฐเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบชเบทเบšเบ•เปเปˆเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบˆเบธเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เป‰เบญเบเบ•เบทเปˆเบ™เป€เบ•เบฑเป‰เบ™เบเบฑเบšเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเบฐเบ”เบงเบเปเบฅเบฐเบ—เบปเปˆเบงเป„เบ›.

เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™ smart-env:

  • เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹
  • เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบžเบดเบกเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบเบณเบ™เบปเบ”เบ„เปˆเบฒเป„เบ”เป‰เบ‡เปˆเบฒเบ
  • Python 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, เป€เบŠเบดเปˆเบ‡, เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เป€เบฎเบฑเบ”เปƒเบซเป‰เบซเป‰เบญเบ‡เบฎเบฝเบ™เบ™เบตเป‰เป€เบ›เบฑเบ™ wrapper intuitive เบชเปเบฒเบฅเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบเบทเบญเบšเบ—เบธเบเบฅเบฐเบšเบปเบš ( เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เปเบกเปˆเบ™เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เปƒเบ™ Django, เบžเบฝเบ‡เปเบ•เปˆเบกเบตเบงเบฑเบ”เบ–เบธเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบกเปˆเบ™เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ / เบŠเบธเบ”เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡).

เบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ‡เบฒเบ™/เบ›เบดเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เป‚เปเบ”เบฎเบญเบ‡เบฎเบฑเบšเบเบฒเบ™เบžเบดเบกเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบกเปˆเบ™เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบชเบญเบ‡เบงเบดเบ—เบต - enable_automatic_type_cast() เปเบฅเบฐ disable_automatic_type_cast(). เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบชเบฐเบ”เบงเบเบ–เป‰เบฒเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบกเบตเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบท JSON เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบžเบฝเบ‡เปเบ•เปˆเบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ Boolean (เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ› DEBUG เปƒเบ™ Django เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เป‚เบ”เบเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบชเบฐเบ•เบฃเบดเบ‡ "เบ–เบทเบเบ•เป‰เบญเบ‡" เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”). เปเบ•เปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เปเบ›เบ‡เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡ - เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเป„เบ”เป‰เบ–เบทเบเบเบฑเบ‡เป„เบงเป‰เปƒเบ™เบ„เบงเบฒเบกเป€เบฅเบดเบเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบฅเปเบ–เป‰เบฒเบชเบฑเบ™เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”. ๐Ÿ™‚ เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบเบฒเบ™เบžเบดเบกเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เป‚เบ›เปˆเบ‡เปƒเบช เปเบฅเบฐเบฎเบญเบ‡เบฎเบฑเบšเป€เบเบทเบญเบšเบ—เบธเบเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เบ•เบปเบง (frozenset, complex เปเบฅเบฐ bytes เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ—เบปเบ”เบชเบญเบš).

เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Python 2 เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเป€เบเบทเบญเบšเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบชเบเบชเบฐเบฅเบฐ (เบเบฒเบ™เบ›เบฐเบ–เบดเป‰เบกเบเบฒเบ™เบžเบดเบกเปเบฅเบฐเบšเบฒเบ‡ "เป€เบ‚เบปเป‰เบฒเบซเบ™เบปเบกเบญเบปเบก" เบ‚เบญเบ‡ Python 3 เบฎเบธเปˆเบ™เบซเบผเป‰เบฒเบชเบธเบ”), เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบซเบปเบเบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡ (เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ metaclasses. ).

เปเบ•เปˆเบกเบตเบšเบฒเบ‡เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”:

  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Python 3 เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบฎเบธเปˆเบ™ 3.5 เปเบฅเบฐเบชเบนเบ‡เบเบงเปˆเบฒ (เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบกเปˆเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบ„เบงเบฒเบกเบ‚เบตเป‰เบเบฝเบ”เบซเบผเบทเบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡, เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบกเบฒเป€เบ–เบดเบ‡เป€เบซเบ”เบœเบปเบ™เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ 3.4);
  • เปƒเบ™ Python 2.7, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ deserialization เบ‚เบญเบ‡เบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบทเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰. เบฅเบฒเบเบฅเบฐเบญเบฝเบ” เบ—เบตเปˆเบ™เบตเป‰. เปเบ•เปˆเบ–เป‰เบฒเปƒเบœเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบเบดเบ™เบ”เบตเบ•เป‰เบญเบ™เบฎเบฑเบš :);

เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบเบฑเบ‡เบกเบตเบเบปเบ™เป„เบเบเบฒเบ™เบเบปเบเป€เบงเบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ. เบ–เป‰เบฒเบชเบฐเบ•เบฃเบดเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบฎเบฑเบšเบฎเบนเป‰เป‚เบ”เบเบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐเบ—เบตเปˆเบกเบตเบขเบนเปˆ, เบกเบนเบ™เบ„เปˆเบฒเบเบฑเบ‡เบ„เบปเบ‡เป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡ (เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ, เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบชเบฐเบšเบฒเบเปเบฅเบฐเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ›เบปเบเบเบฐเบ•เบดเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เปƒเบ™ Bash).

เบซเปเบชเบฐเปเบธเบ” python-shell

เบ•เบญเบ™เบ™เบตเป‰เบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเบชเบญเบ‡ (เบ‚เป‰เบญเบเบˆเบฐเบเบปเบเป€เบฅเบตเบเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เบ‚เบญเบ‡ analogues เบ—เบตเปˆเบกเบตเบขเบนเปˆ - เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบ„เปเบฒเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบชเปเบฒเบฅเบฑเบš smart-env. analogues - เบ—เบตเปˆเบ™เบตเป‰ ะธ เบ—เบตเปˆเบ™เบตเป‰).

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบชเปเบฒเบฅเบฑเบš smart-env, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบˆเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡:

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. เบซเป‰เบญเบ‡เบฎเบฝเบ™เบ”เบฝเบงเบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡ Bash เปƒเบ™เป‚เบฅเบ Python;
  2. เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡ Bash เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบญเบ‡เบŠเบฑเป‰เบ™ Shell;
  3. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™เปเบ•เปˆเบฅเบฐเปเบกเปˆเบ™เบœเปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เป‚เบ—เบ„เปเบฒเบชเบฑเปˆเบ‡ Bash เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™;
  4. เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ” "เบ—เบตเปˆเบ™เบตเป‰เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™" เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰เบกเบฑเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ, i.e. เบงเบดเบ—เบตเบเบฒเบ™ synchronous เป€เบฎเบฑเบ”เบงเบฝเบ;
  5. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ stdout, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบเบฑเบšเบ„เบทเบ™เบ‚เบญเบ‡เบกเบฑเบ™;
  6. เบ–เป‰เบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบšเปเปˆเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš, เบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบˆเบฐเบ–เบทเบเบ–เบดเป‰เบก.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš smart-env, เบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Python 2 (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบฅเบทเบญเบ”เบ—เบตเปˆเป€เบชเบเบชเบฐเบฅเบฐเบซเบผเบฒเบเป€เบฅเบฑเบเบ™เป‰เบญเบ) เปเบฅเบฐเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Python 3.0-3.4.

เปเบœเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบซเปเบชเบฐเปเบธเบ”

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป„เบ”เป‰เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™: เบ—เบฑเบ‡เบชเบญเบ‡เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒเบขเบนเปˆเปƒเบ™ PyPI เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™. เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™ Github (เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰).

เบซเปเบชเบฐเปเบธเบ”เบ—เบฑเบ‡เบชเบญเบ‡เบˆเบฐเบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบ„เบณเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบณเบ„เบดเบ”เป€เบซเบฑเบ™เบ—เบตเปˆเป€เบเบฑเบšเบเบณเบกเบฒเบˆเบฒเบเบœเบนเป‰เบ—เบตเปˆเบชเบปเบ™เปƒเบˆ. เปเบฅเบฐ, เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบกเบฒเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบซเบฅเบฒเบเบซเบฅเบฒเบเบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเปƒเบซเบกเปˆเปƒเบ™ smart-env, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™ python-shell เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบกเบตเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบก:

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป‚เบ—เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡;
  • เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™ (เป€เบฎเบฑเบ”เบงเบฝเบเบฎเปˆเบงเบกเบเบฑเบš stdin);
  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เปƒเบซเบกเปˆ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบŠเบฑเบšเบชเบดเบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบˆเบฒเบ stderr);
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ (เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบŸเบฑเบ‡เบŠเบฑเบ™ dir());
  • เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เป€เบญเบเบฐเบชเบฒเบ™

  1. เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” smart-env: GitHub ะธ P&IP
  2. เบซเปเบชเบฐเบซเบกเบธเบ” python-shell: GitHub ะธ P&IP
  3. เบŠเปˆเบญเบ‡ Telegram เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบซเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบธเบ”โ€‹

UPD เบงเบฑเบ™เบ—เบต 23.02.2020/XNUMX/XNUMX:
* Repositories เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบ, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡
* เป€เบงเบตเบŠเบฑเปˆเบ™ python-shell==1.0.1 เบเบณเบฅเบฑเบ‡เบ–เบทเบเบเบฐเบเบฝเบกเปƒเบซเป‰เบ›เปˆเบญเบเปƒเบ™เบงเบฑเบ™เบ—เบต 29.02.2020/XNUMX/XNUMX. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบงเบกเบกเบตเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡ dir(Shell), เปเบฅเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธ Python เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเปเบเป‰เป„เบ‚เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™