Finamana Python sy Bash: Famoahana ny tranomboky python-shell sy smart-env v. 1.0.1

Bonne journΓ©e daholo e!

29 Febroary 2020 taona nitranga ny famoahana bitika ofisialy ny tranomboky smart-env ΠΈ akorandriaka python. Ho an'ireo izay tsy mahalala dia manoro hevitra anao aho hamaky azy io aloha lahatsoratra voalohany.

Raha fintinina, ny fanovana dia ahitana ny fahavitan'ny baiko, ny fahafaha-manao fanitarana ny baiko, ny refactoring ary ny fanamboarana bug.

Raha mila fanazavana fanampiny dia jereo ny saka.

Inona no vaovao amin'ny python-shell?

Hanomboka amin'ny tsindrin-tsakafo avy hatrany aho.

Fahavitan'ny baiko

Manaiky - mety tsara raha ny tonian-dahatsoratra / IDE / terminal dia manosika anao amin'ny anaran'ny baiko, ary indraindray aza ny mari-pamantarana antso? Noho izany, ny python-shell dia mandroso tsikelikely amin'ny fanomezana fiasa mitovy. Noho ny zava-misy fa ny sahan'ny kilasin'ny Shell eo ambanin'ny kapa dia de-facto fa tsy ny sahany (ny __getattr__ hatraiza hatraiza), dia noforonina hatrany am-boalohany ihany koa ny autocompletion (tamin'ny fametahana ny fomba __dir__, tsirairay avy). Ny Autocompletion amin'izao fotoana izao dia miasa amin'ny tontolo BPython sy IPython. Mazava ho azy fa tiako ny hahita ny fampidirana amin'ireo vokatra mendri-kaja kokoa toa an'i PyCharm, ary ny mety ho fampiharana dia ianarana amin'io lalana io.

Manampy fananana

Ao anatin'ny famoahana azy dia nahazo fananana last_command vaovao ny kilasy Shell. Nipoitra ny filana izany satria rehefa natsipy tamin'ny baiko iray miaraka amin'ny kaody fiverenana tsy aotra ny ShellException, dia tsy naverina avy amin'ny antso __call__() mankany amin'ny baikon'ny baiko ny baiko baiko. Izao dia misy ny fahafahana manao izany:

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

Niitatra ihany koa ny lisitry ny fananan'ny zavatra Command. Nampiana saha misy hadisoana izay mamerina ny vokatra baiko amin'ny renirano diso.

Mandeha baiko misy anarana Python tsy mety

Saika ny rafitra rehetra dia manana programa iray farafahakeliny izay tsy mety amin'ny anarana hoe famantarana amin'ny Python (ohatra, ny utilitarian 2to3 malaza). Antsoy miaraka aminy

Shell.2to3()

Raha tsy mandeha izany, dia tsy hamela izany ny mpandika teny.
Ny vahaolana dia ny miantso ny baiko amin'ny fomba boribory:

Shell("2to3")  # Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Tsara ny manamarika fa amin'ny fomba mitovy amin'izany dia azonao atao ny mampandeha baiko izay manan-kery amin'ny fomba fijerin'ny mpandika teny, izay mamela ny fahafahana hamorona script mora vidy toy ny

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

Fiovana kely

  • Ny fomba __repr__() sy __str__() an'ny object class Command dia efa nampiharina, izay mamokatra soatoavina intuitive (baiko misy paramΓ¨tre sy ny stdout output, tsirairay avy).
  • Fanamboarana kaody madinika.
  • Manampy ny fandrakofam-panadinana, ary koa ny fandrindrana ny efa misy.
  • Manampy ny kilasy Subprocess sy Process, ny tanjona amin'izany dia ny hamorona ambaratonga fanampiny amin'ny abstraction rehefa miasa miaraka amin'ny module subprocess. Ilaina indrindra ny hanafoanana ny dika mitovy rehefa miasa amin'ny Python 2/3, fa mety hanome tombony hafa koa.

Inona no vaovao amin'ny smart-env?

Tsy toy ny python-shell, nisy fiovana vitsy kokoa tao amin'ny tranomboky smart-env. Ny anton'izany dia tsotra - tsy fahampian'ny fotoana malalaka, izay nafindra tany amin'ny famoahana manaraka (ohatra, autocompletion ny fari-piainan'ny tontolo iainana).

Raha ny marina, ireto fanovana manaraka ireto dia natao tamin'ny tranomboky:

  • Fanamboarana kaody madinika.
  • Refactoring.
  • Fandaminana sy fanatsarana ny andrana efa misy.

Drafitra ho an'ny famoahana manaraka

tranomboky python-shell

  • Manampy ny fanohanana ny antso tsy manakana baiko (parallelization ny famonoana).

tranomboky smart-env

  • Fampiharana ny autocompletion ny fari-piainan'ny tontolo iainana ao amin'ny kilasy ENV.
  • Fanohanana ny in operator hanamarina ny fisian'ny variable env.
  • Fampiharana fanohanana ny str() sy repr() asa ho an'ny kilasy ENV.

Ny datin'ny famoahana manaraka dia hambara bebe kokoa amin'ireto fantsona fifandraisana manaraka ireto:

Source: www.habr.com

Add a comment