á¡á¬ážáá¯á¶ážáá² áá±á¬ááºážáá±á¬áá±á·áá« á
ááá±á·ááœááºá Python ááẠáá±á¬á·ááºáá²ááºáá¯ááºáá¯ááºáá»á¬ážááᯠáááºáá®ážáá¯á¶áá¬áá áááºážááá¯á·á á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááá·áºáááºáááºááœáẠá¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážáá¬áá¬á áá¬ážáá»á¬ážáá²ááŸáá áºáá¯ááŒá áºáááºá ááááºá¡áá±ááŒáá·áºá áááºážááá¯á·áááá¹áá¡áááŒá áºá á±á ááá·áºáá»ááºáááºááŒá áºá á± áá®ááœááºáá°á¡áá»á¬ážá¡ááŒá¬ážááẠáá±á¬ááºážááœááºáá±á¬ Bash Script áá»á¬ážááᯠáá±á¬ááºááá¯ááºážááœáẠááŒáá·áºá áœááºá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáá¬áá¬á áá¬ážá¡áá áºáá áºáá¯ááᯠáááºáá°ááááºááŒá áºáááºá ááá¯á·áá±á¬áºáááºáž Bash ááŸáá·áº Python ááá¯á·ááẠáá¯ááºáá±ážáá¬ážááŒááºážá¡ááœáẠááá°áá®áá±á¬áá»ááºážáááºáá¯á¶áá»á¬ážááᯠáá¶áá°ááŒááŒá®áž á¡áá»áá¯á·áá±á¬á¡ááºá¹áá«áááºáá»á¬ážáá«ááŸááááºá ááá¯ááá¯áááºááŸá¬ Bash scripts áá»á¬ážááᯠ"snake language" ááá¯á· áá±ážááá¯á·ááŒááºážááẠáá áºáá«áá áºáá¶ááœáẠá áœááºážáááºááŒáá·áºáááŒá®áž á¡áá±ážá¡ááœá²á¡áá¯ááºá០áá±ážááœá¬ááœá¬ážáá«áááºá
devops áá»á¬ážá¡ááœáẠááááá¯ááá¯ááœááºáá°á
á±ááẠPython ááŸá á¡áá¯á¶ážáááºáá±á¬ á
á¬ááŒáá·áºááá¯ááºáá»á¬ážááŸáá·áº á¡áá¯á¶ážá¡áá±á¬ááºáá»á¬ážá
áœá¬ááᯠáááºáá®ážááŒá®áž áááºáááºáááºáá®ážáá¬ážáááºá á€áá±á¬ááºážáá«ážááœáẠá€ááá¯á·á
áºáá±ážáá¬ážáá°á០áááºáá®ážáá¬ážáá±á¬ á
á¬ááŒáá·áºááá¯ááºá¡áá
áºááŸá
áºáá¯ááᯠáá±á¬áºááŒáá¬ážáá«áááºá
á
áááºáá«áááºá
á¬ážáá°ááá¯ááºáž ááŒá±á¬ááºááŒáá·áºáá±ážáá«á
"á ááºáá®áž" á¡áá áºáá¬ážá
ááá¯ážááá¯ážááŸááºážááŸááºáž áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠáááºáá±á·ááºá»á¡áá áºáá»á¬ážááᯠá¡áááºááŒá±á¬áá·áº áááºáá®ážáááááºáž á os.environ ááŸáá·áº subprocess ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá០ááá·áºá¡á¬áž áááºááá·áºá¡áá¬á áá¬ážáá®ážáááºáááºážá <áááºááœá±ážáá»ááºáá±á¬áááºážáááºáž ááá¯á·ááá¯áẠá¡áááºážá¡á á¬áž> ááá¯ááºááá¯ááº?
á á¬ááŒáá·áºááá¯ááºáá áºáá¯á á®á¡ááœáẠá¡áá±á¬ááºá¡áá¬ážáá»á¬ážááᯠáá®ážááŒá¬ážáááºááŒáá«áááºá
smart-env á á¬ááŒáá·áºááá¯ááº
ááá·áºááá¯ááºááá¯áẠáá¬ááºáááºáá¬ááºááœá±ážááᯠááá±ážáá®á á¡áœááºááá¯ááºážááá¯á·ááœá¬ážá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ ááŒá±ááŸááºážáá»ááºáá»á¬ážááᯠááŸá¬ááœá±ááẠá¡áá¯á¶ážáááºáá«áááºá áá¯ááºáá«áááºá áááºááá¯á¡ááºáá¬ááᯠááŸá¬áááœá±á·ááá¯á· á¡áá¹ááá¬ááºááŸááá«áááºá áá«áá±ááá·áº áá«á "á¡á¬ááá¶ááœá²" áá«á á ááºážáááºážá¡ááá¯ááºážá á€áááºážáááºážááẠá¡áá¯ááºááŒá áºááŒá®áž á¡áá»áááºááŸáá·áº ááŒáá¯ážá á¬ážá¡á¬ážáá¯ááºááŸá¯áá»á¬ážá áœá¬ááᯠáááºáá¬á á±áá«áááºá
ááááºááœá±á¡áá
- os.environ ááá¯á· á¡ááŸááºáááẠáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠáá¯ááºááá¯ážááá·áº áááºáá±á·ááºá»áá»á¬áž ááŸááááºá ááá¯á·áá±á¬áº áá áºáá»áááºáááºážááœáẠá¡á¬áá¯á¶ááœá±ááŒá¬ážááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá áœá¬ ááá¯á¡ááºááẠ(á¡áááºážáá áºáá¯á á á¶ááá°áá¬áá áºáᯠáááºáá®ážááŒááºážá áá±á«áºááá¯ááŸá¯ááœáẠá¡áá°ážááá·áºáááºáá±á¬ááºáá»á¬áž á áááºááŒáá·áº) ááá¯á¡ááºáá«áááºá
- ááá¯á·áá±á¬áº áááá»áá±á¬áá±áá áá Ạ(á¡áááá¡á¬ážááŒáá·áº Django áá²á·ááá¯á·áá±á¬ áááºáá±á¬ááºáá»á¬áž) ááŸáá·áº áááºážááŒááºá áœá¬ áá»áááºáááºáá¬ážááá·áº áá±á¬ááºážááœááºáá±á¬ áááºáá±á·áá»áºáá»á¬áž ááŸááááºá ááá¯á·ááŒá±á¬áá·áº ááá¯ááºáá áºáá¯ááá«áá² áá°ááá¯ááºážááŸá¬ áá¯á¶ážááááŒá áºááá¯ááºáá«á
- á¡áá
áºáá
áºáá¯áá¯áá¯ááºááá¯á· ááŸá¬ážááŸá¬ážáá«ážáá«áž ááŒáá¯ážá
á¬ážááŸá¯ááœá±ááŸááááºá á¥ááá¬á¡á¬ážááŒááºá·,
á á¬ááá¯ááºááá·áºáá«á áá²á·ááá¯á·áá±á¬ áááºážáááºážáá»á¬ážááᯠáá±á«áºááá¯ááŒááºážááŒáá·áº variable values ââáá»á¬ážááᯠááŒááºáá¬ážá áœá¬ ááœá²ááŒááºážá áááºááŒá¬áá«áget_<typename>(var_name)
áá«ááŸááá¯áẠáá®ááŸá¬
áá±á¬ááºáááºááŒá±ááŸááºážáá»ááºáá áºáᯠáááºááá¯á·áááºááá¯á á±áá¬áá°á ááá¯á¡ááŸááºááœá²áá¶ááá±á¬ Python 2 (ááá¯á·áá±á¬áºááŒá¬ážááá¬ážáááºáááºážá á áá±ážáá¬ážáá±á¬áá¯ááºáá»á¬ážááŸáá·áº áá±áá áá áºáá áºáá¯áá¯á¶ážá áá±á¬ááºáááºážáá»á¬áž ááŸááá«áá±ážáááºá - á¡áááºáááá¡ááŒá±á¬ááºážáá áºáá¯áá¯ááŒá±á¬áá·áº PyPI ááœáẠá¡áá¯á¶ážáááºáá²á·ááŒá®áž áááºáá±á·áá»áºá¡áá áºáá»á¬ážááᯠá¡áááºáá±ážááŒááºážááŸáá·áºáᬠááŒá¿áá¬áá»á¬ážáááºáá®ážáá±ážááá·áº áá»á±á¬ááºáž-áá»á±á¬ááºážáá¬áž áááºááŸá¯ááá¬áá»á¬áž ááŸááá«áááºá
ááŒá®ážáá±á¬á· áá®á á¬áááºážá á¡áá»áááºá¡ááŒá¬ááŒá®áž áááºááœá¬ážááá¯ááºáááºá ááá¯á·áá±á¬áºá á¡áááºáá±á¬áºááŒáá«á¡áá»ááºáá»á¬ážááẠá¡áááºááŒá±ááŒá±ááŸáá·áº áá°ááá¯ááºážááᯠáá áºáá¯áá¯áá¯ááºááẠá áááºáá°ážááᯠá áááºááŸá¯ááºááŸá¬ážá á±áá±á¬ááºá¡á±á¬áẠááŒá áºáá²á·áááºá
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 á¡áááºážá variable áá áºáá¯á¡ááŒá ẠáááºááœáŸááºážááŒááºážááŒáá·áº áááºážááᯠáááŸáááá¯ááºáá±á¬ áááºááá·áºáááºáááºážáá»áẠááááºážááŸááºááá¯á·áááᯠáááºáá±á¬ááºááá¯ááºáááºá áááºážááẠá¡ááŸááºááááºá¡á¬ážááŒáá·áº á€á¡áááºážá¡á¬áž áá°áá áá áºáááºáááºážáá»ááºá¡ááœáẠá¡ááá¯ááá¯ááááŒááºááá¯ááºáá±á¬ áá¯ááºááá¯ážááŸá¯áá áºáá¯ááŒá áºá á±áááºá áááºážá¡á¬áž á áá áºááá¯ááºážáá®ážáá«ážá¡ááœáẠááŒá áºááá¯ááºááá·áº configuration object áá áºáá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²áá±ážááẠ( á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá¬ážáá°áá»ááºážáááºáááºážááᯠDjango ááœááºá¡á±á¬ááºááŒááºáááºá ááá¯áá±áá¬ááœááºáᬠconfiguration object ááẠsettings module/package ááá¯ááºááá¯ááºááŒá áºáááº)á
á¡ááá¯á¡áá»á±á¬áẠá á¬ááá¯ááºááŒááºážááá¯ááºáᬠáá¶á·ááá¯ážááŸá¯áá¯ááºááᯠááœáá·áºááŒááºáž/ááááºááŒááºážááŸá¬ áááºážáááºážááŸá áºáᯠ- enable_automatic_type_cast() ááŸáá·áº disable_automatic_type_cast() ááᯠá¡áá¯á¶ážááŒá¯á á¡á±á¬ááºááŒááºáá«áááºá áááºáááºážáá»áẠvariable ááœáẠáá¶áá«ááºá ááºáááºáá¬ážáá±á¬ JSON áá²á·ááá¯á·áá±á¬ á¡áá¬ááá¹áá¯áá áºáᯠááá¯á·ááá¯áẠBoolean ááááºážáá±áá áºáá¯áá»áŸááẠáá«áááºáá±áá«á (ááá¬ááááºáááºážáá»áẠááááºážááŸááºá¡á¬áž âááŸááºáááºáá±á¬â ááŒáá¯ážáá»á¬ážááŒáá·áº ááŸáá¯ááºážááŸááºááŒááºážááŒáá·áº Django ááŸá DEBUG ááááºážáá±ááᯠááŒááºáá¬ážá áœá¬ áááºááŸááºááŒááºážááẠá¡ááœá±á·áá¡áá»á¬ážáá¯á¶áž ááá á¹á áá»á¬ážáá²á០áá áºáá¯ááŒá áºáááº)á ááá¯áá° ááŒáá¯ážáá»á¬ážááᯠááŒááºáá¬ážá áœá¬ ááŒá±á¬ááºážááẠáááá¯á¡ááºáá±á¬á·áá« - ááá¯á¡ááºáá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž á¡áá»á¬ážá á¯ááẠá á¬ááŒáá·áºááá¯ááºá áááºáá²áá±á¬ áá±áá¬ááœáẠááŒáŸá¯ááºááŸá¶áá¬ážááŒá®áž áá¯ááºáá±á¬ááºááẠá¡áá»ááºááŒááŸá¯ááᯠá á±á¬áá·áºááá¯ááºážáá±áá«áááºá ð áá±áá¯áá»á¡á¬ážááŒáá·áºá á á¬ááá¯ááºááŒááºážááẠááœáá·áºáááºážááŒááºáá¬á áœá¬ á¡áá¯ááºáá¯ááºááŒá®áž áááŸáááá¯ááºáá±á¬ built-in áá±áá¬á¡áá»áá¯ážá¡á á¬ážá¡á¬ážáá¯á¶ážáá®ážáá«ážááᯠáá¶á·ááá¯ážáá±ážááẠ(frozensetá ááŸá¯ááºááœá±ážááŒá®áž ááá¯ááºáá»á¬ážááᯠáá ááºážáááºááá±ážáá«)á
Python 2 ááᯠáá¶á·ááá¯ážááẠááá¯á¡ááºáá»ááºááᯠá¡áá áºáá¬áá¶ááŸá¯ áááŸáááá±á¬áẠ(á á¬ááá¯ááºááŒááºážááᯠá áœáá·áºáá áºááŒááºážááŸáá·áº Python 3 á áá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážá¡áá»áá¯á·) á "áááŒá¬ážáááŒá¬áž" á¡áá»áá¯á·ááá¯) á¡áá°ážáááŒáá·áº áá±áá¬á¡ááŸá¶á· ááŒá±á¬ááºáá¯ááŒá±á¬áá·áº ( metaclasses á¡áá¯á¶ážááŒá¯ááŒááºážááá¯ááºáᬠááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáááºá )
áá«áá±ááá·áº ááá·áºáááºáá»ááºá¡áá»áá¯á·ááŸááá«áááºá
- Python 3 áá¶á·ááá¯ážááŸá¯ááá¯áááºááŸá¬ áá¬ážááŸááºáž 3.5 ááŸáá·áºá¡ááẠ(ááá·áºááá±á¬áá»ááºááœáẠáááºážááá¯á·áá±á¬ááºááŸááá±ááŒááºážááẠáá»ááºážááááŒááºáž ááá¯á·ááá¯áẠááá¯ážáááºááŸá¯á¡ááœáẠááá¯á¡ááºááŸá¯áááºážáá«ážááŒááºážá ááááºááŒá áºáááºá áááºááẠ3.4 ááœááºááŸááá±áá±ážááá·áº á¡ááŒá±á¬ááºážáááºážááᯠáá±á¬áºáá¯ááºáááºáááºáá²áá±á¬ááŒá±á¬áá·áº)
- Python 2.7 ááœááºá á
á¬ááŒáá·áºááá¯ááºááẠset literals áá»á¬ážá deserialization ááᯠááá¶á·ááá¯ážáá«á áá±á¬áºááŒáá»ááº
áá®ááŸá¬ . áá«áá±ááá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºáá»ááºáááºááá¯áááºáá±á¬á· ááŒáá¯ááá¯áá«ááẠ:)
ááœá²ááŒááºážá áááºááŒá¬ááŸá¯á¡ááŸá¬ážáá»á¬ážá¡ááœáẠá á¬ááŒáá·áºááá¯ááºááœáẠááŒáœááºážáá»ááºáá áºáá¯áááºáž ááŸááá«áááºá string ááᯠáááŸáááá¯ááºáá±á¬ ááœá²ááŒááºážá áááºááŒá¬áá° áá áºáá¯áá¯á០á¡ááá¡ááŸááºáááŒá¯ááá¯ááºáá«áá áááºááá¯ážááẠstring áá áºáá¯á¡ááŒá Ạáá»ááºááŸááá±ááẠ(ááá¯á·á¡á á¬ážá 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
á¡áá°á¡áááá±á¬á· áá®ááá¯áá«
- Python ááá¹áá¬ááŸá Bash ááᯠááá¯ááºá á¬ážááŒá¯ááá·áº á¡áááºážáá áºáá¯áááºážá
- Bash command áá áºáá¯á á®ááᯠShell class á function áá áºáá¯á¡ááŒá Ạáá±á«áºáááºá
- ááá¯á·áá±á¬áẠfunction call áá áºáá¯á á®á¡ááœáẠparameters áá»á¬ážááᯠáááºááá¯ááºáᬠBash command call ááá¯á· áá±ážááá¯á·áá«áááºá
- command áá áºáá¯á á®ááᯠ"áá®ááŸá¬ááŸáá·áº ááá¯" áá¯áá±á«áºááá¯ááá·áºá¡áá»áááºááœááºá i.e. synchronous áá»ááºážáááºááŸá¯á¡áá¯ááºáá¯ááºáááºá
- stdout ááœáẠcommand áá áºáá¯á output ááŸáá·áº áááºážá return code ááá¯á·ááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯ááºááẠá
- á¡áááá·áºáá±ážá áá áºááœááºáááŸááá«áá ááŒáœááºážáá»ááºáá áºáá¯áá»áá¬ážáááºá
smart-env áá²á·ááá¯á·áááºá Python 2 á¡ááœáẠáá¶á·ááá¯ážááŸá¯ (á¡áááºážáááºááá¯á áááºáá°áá±á¬áºááẠááœá±ážááá¯á¡ááºáá±á¬áºáááºáž) ááŸáá·áº Python 3.0-3.4 á¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááŸááá«á
á á¬ááŒáá·áºááá¯áẠááœá¶á·ááŒáá¯ážááá¯ážáááºáá±áž á¡á á®á¡á ááºáá»á¬áž
á á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠááá¯áááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááº- ááŸá áºáá¯áá¯á¶ážááᯠááá¬ážááẠPyPI ááœáẠáááºáá¬ážáááºá á¡áááºážá¡ááŒá áºáá»á¬ážááᯠGithub ááœááºáááŸáááá¯ááºáá«ááẠ(á¡á±á¬ááºááœááºááŒáá·áºáá«)á
á áááºáá«áááºá á¬ážáá°áá»á¬ážáá¶á០á á¯áá±á¬ááºážáá¬ážáá±á¬ á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááᯠááá·áºááœááºážááœááºáá»ááºááŒá®áž á á¬ááŒáá·áºááá¯ááºááŸá áºáá¯áá¯á¶ážááᯠáá®ááœááºáááºáá®ážáááºááŒá áºáááºá ááá¯á·á¡ááŒááºá smart-env ááœáẠá¡ááºá¹áá«áááºáá»áá¯ážá á¯á¶ááŒáá·áº ááœááºáá±á«áºáá¬ááẠáááºáá²áá±áá«áá Python-shell ááœáẠáááºááá·áºáááá·áº á¡ááŒá¬ážá¡áá¬ááŸá¬ áá±áá»á¬áá±á«ááºááŸááá«áááº-
- ááááºááá¯á·ááŒááºážáááŒá¯áá±á¬áá±á«áºááá¯ááŸá¯áá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯á
- á¡ááœá²á·ááŸáá·áºá¡ááŒááºá¡ááŸááºáááºááœááºááŒá±á¬ááá¯ááá¯ááºááŒá± (stdin ááŸáá·áºá¡áá¯ááºáá¯ááº);
- áá¯ááºááá¹ááá¡áá áºáá»á¬áž áá±á«ááºážááá·áºááŒááºáž (á¥ááá¬á stderr á០output ááá¯áááºáá¶ááá°ááẠááá¯ááºááá¯ááºááŸá¯)
- áááŸáááá¯ááºáá±á¬ command áá»á¬ážáááºážááœáŸááºááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºáž (dir() function ááŸáá·áºá¡áá¯á¶ážááŒá¯áááºá¡ááœááº)
- á áááºááá¯á·ááá¯
ááá¯ážáá¬áž
- smart-env á
á¬ááŒáá·áºááá¯ááº-
Github ОPyPI - python-shell á
á¬ááŒáá·áºááá¯ááº-
Github ОPyPI Telegram ááá¯ááºáž á á¬ááŒáá·áºááá¯áẠá¡ááºááááºáá»á¬áž
UPD 23.02.2020/XNUMX/XNUMX-
* Repositories áá»á¬ážááᯠááœáŸá±á·áá¬ážááŒá®ážá áááºááá¯ááºáᬠááá·áºááºáá»á¬ážááᯠá¡ááºááááºáá¯ááºáá¬ážáá«áááºá
* áá¬ážááŸááºáž python-shell==1.0.1 ááᯠ29.02.2020/XNUMX/XNUMX ááœáẠáá¯ááºáá±ááẠááŒááºáááºáá±áá«áááºá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááœáẠá¡áááá·áºáá±ážááá·áº á¡á±á¬áºááá¯ááŒáá·áºá
áœááºááŸá¯ááŸáá·áº dir(Shell) ááœáŸááºááŒá¬ážáá»ááºá¡ááœáẠáá¶á·ááá¯ážááŸá¯á áááŸááºáááºáá±á¬ Python identifier ááŒáá·áº ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºážááŸáá·áº áá»áœááºááœááºážáá»ááºááŒááºáááºááŒááºážáá»á¬áž áá«áááºáááºá
source: www.habr.com