Making Python and Bash Friendship: Te tukunga o nga whare pukapuka python-shell me smart-env v. 1.0.1

Kia ora koutou katoa!

29 Hui-tanguru 2020 o te tau ka puta te whakaputanga moroiti o nga whare pukapuka atamai-env и anga-python. Mo te hunga kaore i te mohio, ka kii ahau kia panui koe i te tuatahi pou tuatahi.

Hei poto, ko nga huringa kei roto ko te whakaoti whakahau, te kaha ake mo te whakahaere whakahau, etahi whakatikatika me te whakatika iro.

Mo nga korero taipitopito tirohia te ngeru.

He aha te mea hou i roto i te anga-python?

Ka timata tonu ahau ki te kai reka.

Te whakaotinga whakahau

Whakaae - he pai ki te akiaki te ētita / IDE / te pito ki a koe mo te ingoa o te whakahau, me etahi wa ko nga tawhā karanga? Na kei te ahu whakamua a python-shell ki te whakarato mahi rite. Na te mea ko nga mara o te karaehe Anga kei raro i te aahua he de-facto ehara i ona mara (ko te __getattr__ kei nga waahi katoa), i hangaia ano te whakaoti-aunoa mai i te wahanga (ma te taumaha i te tikanga __dir__, ia). I tenei wa ka mahi te whakaoti-aunoa i roto i nga taiao BPython me IPython. Ae ra, kei te pirangi ahau ki te kite i te whakaurunga me nga hua whakahirahira penei i a PyCharm, me nga huarahi whakatinana kei te akohia i tenei huarahi.

Te taapiri i nga taonga

Hei wahanga o te tukunga, i whakawhiwhia e te akomanga Shell tetahi taonga whakamutunga_whakahau hou. I puta mai te hiahia mo te mea i te wa i makahia he ShellException e tetahi whakahau me te waehere whakahoki kore-kore, kaore te ahanoa Whakahau i whakahokia mai i te waea __call__() ki te ahanoa whakahau. Inaianei he whai waahi ki te mahi i tenei:

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

Kua roha ano te rarangi o nga ahuatanga o te ahanoa Whakahau. Kua tāpirihia he āpure hapa hei whakahoki i te putanga whakahau ki te awa hapa.

Te whakahaere i nga tono me nga ingoa Python muhu

Tata ki ia punaha he kaupapa kotahi neke atu i te iti rawa te ingoa kaore e tika ana hei tautohu i roto i te Python (hei tauira, te whaipainga 2to3 rongonui). Karangatia ia me

Shell.2to3()

Ki te kore e mahi, e kore te kaiwhakamaori e tuku.
Ko te otinga ko te karanga i te whakahau i roto i te huarahi a tawhio noa:

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

He mea tika kia mohio koe ma te huarahi ano ka taea e koe te whakahaere i nga whakahau e whai mana ana mai i te tirohanga a te kaiwhakamaori, ka waiho te whai waahi ki te hanga tuhinga ngawari penei

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

Nga huringa iti

  • Ko nga tikanga __repr__() me __str__() o te ahanoa o te akomanga Whakahaua kua whakatinanahia, ka puta he uara mohio (he whakahau me nga tawhā me ona putanga stdout, ia).
  • Nga whakatika waehere iti.
  • Te taapiri i te kapinga whakamatautau, me te whakariterite ano i nga waahanga o mua.
  • Te taapiri i nga karaehe Tukatuka me te Tukatuka, ko te kaupapa ko te hanga i tetahi atu taumata tangohanga i te wa e mahi tahi ana me te waahanga tukatuka iti. Ko te nuinga o te waa ki te whakakore i te taarua waehere i te wa e mahi tahi ana me Python 2/3, engari ka taea ano hoki etahi atu putea.

He aha te mea hou i roto i te smart-env?

Kaore i rite ki te python-shell, he iti ake nga huringa i roto i te whare pukapuka smart-env. He ngawari noa te take - te kore o te wa waatea, i te wa i nekehia ai etahi whakapainga (hei tauira, te whakaoti aunoa i nga taurangi taiao) ki te tukunga e whai ake nei.

Inaa, ko nga huringa e whai ake nei kua mahia ki te whare pukapuka:

  • Nga whakatika waehere iti.
  • Refactoring.
  • Te whakatikatika me te whakamahine i nga whakamatautau o naianei.

Nga mahere mo nga putanga e whai ake nei

whare pukapuka python-shell

  • Te taapiri tautoko mo nga waea whakahau kore-aukati (whakaritenga o te mahi).

whare pukapuka smart-env

  • Te whakatinanatanga o te whakaoti aunoa o nga taurangi taiao i roto i te akomanga ENV.
  • Tautoko mo te in operator ki te tirotiro i te noho o tetahi taurangi env.
  • Te whakatinanatanga o te tautoko mo nga mahi str() me te repr() mo te akomanga ENV.

Ko nga ra o nga whakaputanga e whai ake nei ka panuitia i roto i nga huarahi whakawhitiwhiti e whai ake nei:

Source: will.com

Tāpiri i te kōrero