ProHoster > Блог > Whakahaerenga > Making Python and Bash Friendship: Te tukunga o nga whare pukapuka python-shell me smart-env v. 1.0.1
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:
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
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: