ProHoster > Blog > Tsamaiso > Ho etsa Setsoalle sa Python le Bash: Ho lokolloa ha python-shell le lilaebrari tse bohlale-env v. 1.0.1
Ho etsa Setsoalle sa Python le Bash: Ho lokolloa ha python-shell le lilaebrari tse bohlale-env v. 1.0.1
Letsatsi le letle bohle!
29 February 2020 lilemo tokollo e nyane ea semmuso ea lilaeborari e etsahetse bohlale-env и khetla ea python. Bakeng sa ba sa tsebeng, ke khothaletsa hore u e bale pele poso ea pele.
Ka bokhutšoane, liphetoho li kenyelletsa ho phetheloa ha litaelo, bokhoni bo atolositsoeng ba ho tsamaisa litaelo, tse ling tsa refactoring le li-bug fixes.
Bakeng sa lintlha ka kopo bona katse.
Ke eng e ncha ho python-shell?
Ke tla qala hang-hang ka lijo tse theolelang.
Ho phethela taelo
Lumellana - ho bonolo ha mohlophisi/IDE/terminal e u botsa lebitso la taelo, 'me ka linako tse ling esita le litekanyetso tsa mohala? Kahoo python-shell butle-butle e ntse e tsoela pele ho fana ka ts'ebetso e ts'oanang. Ka lebaka la 'nete ea hore masimo a sehlopha sa Shell tlas'a hood ke de-facto eseng masimo a eona (e fumanehang hohle __getattr__), ho phetheloa ka boiketsetso ho boetse ho entsoe ho tloha qalong (ka ho jarisa mokhoa oa __dir__ ka ho latellana). Autocompletion hajoale e sebetsa tikolohong ea BPython le IPython. Ehlile, ke rata ho bona kopanyo le lihlahisoa tse hlomphuoang joalo ka PyCharm, mme menyetla ea ts'ebetsong e ntse e ithutoa ntlheng ena.
Ho Eketsa Thepa
E le karolo ea tokollo, sehlopha sa Shell se ile sa fumana thepa e ncha ea last_command. Tlhokahalo ea eona e ile ea hlaha hobane ha ShellException e lahleloa ka taelo e nang le khoutu ea ho khutlisa e seng zero, ntho ea Taelo ha ea ka ea khutlisoa ho tsoa __call__() pitso ho ntho ea taelo. Hona joale ho na le monyetla oa ho etsa sena:
Lethathamo la thepa ea ntho ea Taelo le eona e atolohile. E kentse sebaka sa liphoso se khutlisetsang tlhahiso ea taelo ho molapo oa phoso.
Ho fana ka litaelo tse nang le mabitso a fosahetseng a Python
Hoo e ka bang tsamaiso e 'ngoe le e' ngoe e na le bonyane lenaneo le le leng leo lebitso la lona le sa tšoaneleheng e le sekhetho ho Python (mohlala, sesebelisoa se tsebahalang sa 2to3). Mo letse le
Shell.2to3()
Haeba e sa sebetse, mofetoleli a ke ke a e lumella ho feta.
Tharollo ke ho letsetsa taelo ka tsela e potolohileng:
Shell("2to3") # возвращает объект команды
Ke habohlokoa ho hlokomela hore ka mokhoa o ts'oanang u ka tsamaisa litaelo tse nepahetseng ho tloha ponong ea mofetoleli, e leng se sieang monyetla oa ho theha mangolo a feto-fetohang joaloka
Mekhoa ea __repr__() le __str__() ea ntho ea sehlopha sa Command e se e kentsoe ts'ebetsong, e seng e hlahisa litekanyetso tse hlakileng (taelo e nang le li-parameter le tlhahiso ea eona ea stdout, ka ho latellana).
Litokiso tse nyane tsa khoutu.
Ho eketsa tšireletso ea liteko, hammoho le ho hlophisa bocha tse seng li ntse li le teng.
Ho kenyelletsa litlelase tsa Subprocess le Ts'ebetso, sepheo sa eona e leng ho theha boemo bo eketsehileng ba ho ikhula ha o sebetsa le mojule oa subprocess. Haholo-holo e hlokahalang ho felisa ho pheta-pheta ha khoutu ha o sebetsa le Python 2/3, empa e ka fana ka li-bonase tse ling hape.
Ke eng e ncha ho smart-env?
Ho fapana le python-shell, ho bile le liphetoho tse fokolang laebraring ea smart-env. Lebaka la sena le bonolo - khaello ea nako ea mahala, eo ka eona lintlafatso tse ling tse ka bang teng (mohlala, ho phetheloa ha maemo a fapaneng a tikoloho) li ile tsa isoa tokollong e latelang.
Ha e le hantle, ho entsoe liphetoho tse latelang laebraring:
Litokiso tse nyane tsa khoutu.
Refactoring.
Ho hlophisa bocha le ntlafatso ea liteko tse teng.
Merero ea litokollo tse latelang
laebrari ea python-shell
Ho eketsa tšehetso bakeng sa mehala ea taelo e sa thibeleng (parallelization of execution).
laeborari ea bohlale-env
Ho kenya ts'ebetsong ea ho ikakhela ka setotsoana ha mefuta e fapaneng ea tikoloho sehlopheng sa ENV.
Ts'ehetso ea in opareitara ho lekola boteng ba env variable.
Ts'ebetsong ea ts'ehetso bakeng sa mesebetsi ea str() le repr() bakeng sa sehlopha sa ENV.
Matsatsi a likhatiso tse latelang a tla phatlalatsoa hape mecheng e latelang ea likhokahano: