Faia o le Python ma Bash Faauoga: Faʻasaʻolotoina o faletusi o python-shell ma smart-env v. 1.0.1

Manuia le aso tagata uma!

29 Fepuari 2020 o le tausaga na faia le fa'asalalauga fa'apitoa laiti o faletusi atamai-env и atigi python. Mo i latou e le o iloa, ou te fautua atu ia e faitau muamua pou muamua.

I se faapuupuuga, o suiga e aofia ai le faʻamaeʻaina o le faʻatonuga, faʻalauteleina le gafatia mo le faʻatonuina o poloaiga, o nisi toe faʻaleleia ma faʻaleleia pusa.

Mo fa'amatalaga fa'amolemole va'ai pusi.

O le a le mea fou ile python-shell?

O le a ou amata loa i le suamalie.

Fa'amae'aina poloaiga

Ioe - e faigofie pe a faʻamalosia oe e le faatonu / IDE / faʻaumau mo le igoa o le poloaiga, ma o nisi taimi e oʻo lava i le valaʻau? O lea la o le python-shell o loʻo faasolosolo malie le alualu i luma i le tuʻuina atu o galuega tutusa. Ona o le mea moni e faapea o fanua o le Shell vasega i lalo o le pulou e de-facto e le o ona fanua (le ubiquitous __getattr__), autocompletion na faia foi mai le maoaʻe (e ala i le overloading le __dir__ metotia, faasologa). Autocompletion o loʻo galue nei i BPython ma IPython siosiomaga. Ioe, ou te fia vaʻai faʻatasi ma oloa faʻaaloalogia e pei o PyCharm, ma o loʻo suʻesuʻeina avanoa faʻatino i lenei itu.

Fa'aopoopo meatotino

I le avea ai o se vaega o le tatalaina, na maua ai e le vasega Shell se meatotino fou last_command. O le manaʻoga na tulaʻi mai ona ina ua lafoina se ShellException e se faʻatonuga ma se numera e le-zero, e leʻi toe faʻafoʻi mai le mea Poloaiga mai le __call__() valaau i le mea o le poloaiga. O lea ua i ai se avanoa e faia ai lenei mea:

try:
    command = Shell.touch('/foo.txt')
except ShellException:
    command = Shell.last_command

O le lisi o meatotino a le mea Poloaiga ua faʻalauteleina foi. Fa'aopoopoina se fanua fa'aletonu e toe fa'afo'i ai le fa'atonuga i le fa'agasolo fa'aletonu.

Fa'atonu tulafono fa'atasi ai ma igoa ole Python

Toeitiiti lava o polokalama uma e le itiiti ifo ma le tasi le polokalama e le fetaui lona igoa e fai ma faʻamatalaga i le Python (mo se faʻataʻitaʻiga, le lauiloa 2to3 aoga). Valaau o ia ma

Shell.2to3()

Afai e le aoga, e le faatagaina e le faamatalaupu.
O le fofo o le valaau lea o le poloaiga i se auala taamilosaga:

Shell("2to3")  # возвращает объект команды

E taua le maitauina i le auala lava lea e tasi e mafai ai ona e faʻatautaia poloaiga e faʻamaonia mai le manatu o le faʻamatala, lea e tuʻuina atu ai le avanoa e fatuina ai tusitusiga faʻapitoa e pei o

cmd = "python{}".format(sys.version_info[0])
Shell(cmd)(*args, **kwargs)

Suiga laiti

  • O le __repr__() ma le __str__() metotia o le Poloaiga a le vasega mea ua uma ona faʻatinoina, lea ua maua mai ai faʻamatalaga faʻapitoa (se faʻatonuga ma faʻamaufaʻailoga ma lona stdout output, faasologa).
  • Fa'atonuga laiti.
  • Fa'aopoopoina o fa'asalalauga su'ega, fa'apea fo'i ma le toe fa'atulagaina o mea o iai.
  • Fa'aopoopoina le Subprocess and Process classes, o lona fa'amoemoe o le fa'atupuina lea o se tulaga fa'aopoopo o le va'ava'ai pe a galue ma le subprocess module. Ole tele e manaʻomia e faʻaumatia ai le faʻasologa o tulafono pe a galue ma Python 2/3, ae mafai foʻi ona tuʻuina atu isi ponesi.

O le a le mea fou ile smart-env?

E le pei o le python-shell, e itiiti ni suiga i le faletusi atamai-env. O le mafuaaga o lenei mea e faigofie - leai se taimi avanoa, lea na siitia ai nisi o faʻaleleia atili (mo se faʻataʻitaʻiga, autocompletion o fesuiaiga o le siosiomaga) i le isi faʻasalalauga.

O le mea moni, o suiga nei ua faia i le faletusi:

  • Fa'atonuga laiti.
  • Toe faia.
  • Toe fa'atulagaina ma le fa'aleleia o su'ega o iai.

Fuafuaga mo isi fa'asalalauga

python-shell faletusi

  • Fa'aopoopoina le lagolago mo vala'au fa'atonu e le taofia (fa'atusaina o le fa'atinoga).

faletusi atamai-env

  • Fa'atinoga o le fa'amae'aina o le si'osi'omaga fesuiaiga i le vasega ENV.
  • Lagolago mo le in operator e siaki le i ai o se fesuiaiga o le env.
  • Fa'atinoina o le lagolago mo le str() ma le repr() galuega mo le vasega ENV.

O aso o isi fa'asalalauga o le a fa'asalalau atili i ala feso'ota'iga nei:

puna: www.habr.com

Faaopoopo i ai se faamatalaga