ProHoster > Blog > Rianachd > Dèanamh Python agus Càirdeas Bash: Sgaoileadh na leabharlannan python-shell agus smart-env v. 1.0.1
Dèanamh Python agus Càirdeas Bash: Sgaoileadh na leabharlannan python-shell agus smart-env v. 1.0.1
Latha math a h-uile duine!
29 Gearran 2020 bliadhnaichean Chaidh meanbh-fhoillseachadh oifigeil leabharlannan a chumail smart-env и python-slige. Dhaibhsan nach eil eòlach, tha mi a’ moladh gun leugh thu e an toiseach chiad phost.
Ann an ùine ghoirid, tha na h-atharrachaidhean a’ toirt a-steach crìochnachadh òrdughan, comasan leudaichte airson ruith òrdughan, beagan ath-shuidheachadh agus rèiteachadh bug.
Airson mion-fhiosrachadh faic an cat.
Dè a tha ùr ann am python-shell?
Tòisichidh mi sa bhad le milseag.
Crìochnachadh àithne
Aontaich - tha e goireasach nuair a bhios an neach-deasachaidh / IDE / Terminal gad bhrosnachadh airson ainm na h-àithne, agus uaireannan eadhon na paramadairean gairm? Mar sin tha python-shell a’ dèanamh adhartas mean air mhean ann a bhith a’ toirt seachad an aon seòrsa gnìomh. Leis gu bheil raointean clas Shell fon chochall de-facto chan e na h-achaidhean aige (an __getattr__ uile-làthaireach), chaidh fèin-choileanadh a chruthachadh bhon toiseach (le bhith a’ luchdachadh cus den dòigh __dir__, fa leth). Tha autocompletion an-dràsta ag obair ann an àrainneachdan BPython agus IPython. Gu dearbh, bu mhath leam amalachadh fhaicinn le toraidhean nas urramaiche mar PyCharm, agus thathas a’ sgrùdadh chothroman gnìomhachaidh a thaobh seo.
A' cur feartan ris
Mar phàirt den fhoillseachadh, fhuair clas Shell seilbh ùr last_command. Dh’ èirich feum air oir nuair a chaidh ShellException a thilgeil le àithne le còd tilleadh neo-neoni, cha deach an nì Command a thilleadh bhon ghairm __call__() chun an nì àithne. A-nis tha cothrom ann seo a dhèanamh:
Tha an liosta de fheartan an nì Command air leudachadh cuideachd. Chuir sinn raon mhearachdan ris a thilleas toradh an àithne chun t-sruth mearachd.
A’ ruith òrdughan le ainmean Python mì-dhligheach
Tha co-dhiù aon phrògram aig cha mhòr a h-uile siostam aig nach eil ainm freagarrach mar aithnichear ann am Python (mar eisimpleir, an goireas ainmeil 2to3). Cuir fòn rithe le
Shell.2to3()
Mura obraich e, cha leig an t-eadar-theangair troimhe.
Is e am fuasgladh an àithne a ghairm ann an dòigh cearcall-rathaid:
Shell("2to3") # возвращает объект команды
Is fhiach a bhith mothachail gum faod thu san aon dòigh òrdughan a ruith a tha dligheach bho shealladh an eadar-theangair, a dh’ fhàgas an cothrom sgriobtaichean sùbailte a chruthachadh mar
Chaidh na dòighean __repr__() agus __str__() den nì clas Command a chuir an gnìomh, a tha a-nis a’ toirt a-mach luachan intuitive (òrdugh le paramadairean agus an toradh stdout aige, fa leth).
Ceartachaidhean beaga còd.
A’ cur còmhdach deuchainn ris, a bharrachd air ath-eagrachadh an fheadhainn a th’ ann mar-thà.
A’ cur ris na clasaichean Subprocess agus Pròiseas, is e an adhbhar ìre tarraing a bharrachd a chruthachadh nuair a bhios tu ag obair leis a’ mhodal subprocess. Mar as trice feumar cuir às do dhùblachadh còd nuair a bhios tu ag obair le Python 2/3, ach dh’ fhaodadh e bònasan eile a thoirt seachad cuideachd.
Dè tha ùr ann an smart-env?
Eu-coltach ri python-shell, tha nas lugha de dh'atharrachaidhean air a bhith anns an leabharlann smart-env. Tha an t-adhbhar airson seo sìmplidh - dìth ùine shaor, nuair a chaidh cuid de leasachaidhean a dh’ fhaodadh a bhith ann (mar eisimpleir, fèin-choileanadh caochladairean àrainneachd) a ghluasad chun ath fhoillseachadh.
Gu dearbh, chaidh na h-atharrachaidhean a leanas a dhèanamh air an leabharlann:
Ceartachaidhean beaga còd.
Refactoring.
Ath-eagrachadh agus ùrachadh nan deuchainnean a th’ ann mar-thà.
Planaichean airson an ath chuairtean
leabharlann python-slige
A’ cur taic ri fiosan àithne gun bhacadh (co-shìnteadh coileanadh).
leabharlann smart-env
Cur an gnìomh fèin-choileanadh caochladairean àrainneachd anns a’ chlas ENV.
Taic don ghnìomhaiche a-staigh gus dèanamh cinnteach gu bheil caochladair env ann.
Cur an gnìomh taic airson gnìomhan str() agus repr() airson a’ chlas ENV.
Thèid cinn-latha nan ath sgaoilidhean ainmeachadh anns na seanailean conaltraidh a leanas: