ПроХостер > блог > Администрација > Стварање пријатељства између Питхон-а и Басх-а: Издавање питхон-схелл и смарт-енв в библиотека. 1.0.1
Стварање пријатељства између Питхон-а и Басх-а: Издавање питхон-схелл и смарт-енв в библиотека. 1.0.1
Добар дан свима!
Фебруар КСНУМКС КСНУМКС година извршено званично микро издање библиотека смарт-енв и питхон-схелл. За оне који не знају, предлажем да прво прочитају први пост.
Укратко, промене укључују довршавање команди, проширене могућности за покретање команди, неке рефакторе и исправке грешака.
За детаље погледајте кат.
Шта је ново у питхон-схелл-у?
Почећу одмах са десертом.
Завршетак команде
Слажете се - згодно је када вам едитор/ИДЕ/терминал затражи назив команде, а понекад чак и параметре позива? Дакле, питхон-схелл постепено напредује у пружању сличне функционалности. Због чињенице да поља класе Схелл испод хаубе де-факто нису њена поља (свеприсутни __гетаттр__), аутоматско довршавање је такође креирано од нуле (преоптерећењем методе __дир__). Аутоматско довршавање тренутно ради у БПитхон и ИПитхон окружењима. Наравно, волео бих да видим интеграцију са угледнијим производима као што је ПиЦхарм, а могућности имплементације се проучавају у том правцу.
Додавање својстава
Као део издања, класа Схелл је добила ново ласт_цомманд својство. Потреба за тим се појавила зато што када је СхеллЕкцептион избачена наредбом са повратним кодом који није нула, објекат Цомманд није враћен из позива __цалл__() командном објекту. Сада постоји прилика да то урадите:
Листа својстава Цомманд објекта је такође проширена. Додато поље за грешке које враћа излаз команде у ток грешака.
Покретање команди са неважећим Питхон именима
Скоро сваки систем има бар један програм чије име није погодно као идентификатор у Питхон-у (на пример, добро познати услужни програм 2то3). Позови је са
Shell.2to3()
Ако не успе, преводилац га неће пустити.
Решење је да позовете команду на заобилазни начин:
Shell("2to3") # возвращает объект команды
Вреди напоменути да на исти начин можете покренути команде које су валидне са становишта тумача, што оставља могућност креирања флексибилних скрипти попут
Имплементиране су методе __репр__() и __стр__() објекта класе Цомманд, које сада производе интуитивне вредности (команда са параметрима и њен стдоут излаз, респективно).
Мање исправке кода.
Додавање покривености тестом, као и реорганизација постојећих.
Додавање класа Подпроцес и Процес чија је сврха стварање додатног нивоа апстракције при раду са модулом подпроцеса. Углавном је потребно да се елиминише дуплирање кода када се ради са Питхон 2/3, али потенцијално може да пружи и друге бонусе.
Шта је ново у смарт-енв?
За разлику од питхон-схелл-а, било је мање промена у библиотеци смарт-енв. Разлог за то је једноставан – недостатак слободног времена, током којег су нека потенцијална побољшања (на пример, аутодовршавање варијабли окружења) премештена у следеће издање.
У ствари, следеће промене су направљене у библиотеци:
Мање исправке кода.
Рефакторинг.
Реорганизација и усавршавање постојећих тестова.
Планови за следећа издања
питхон-схелл библиотека
Додавање подршке за неблокирајуће позиве команди (паралелизација извршавања).
смарт-енв библиотека
Имплементација аутодовршавања варијабли окружења у ЕНВ класи.
Подршка за ин оператор за проверу постојања енв променљиве.
Имплементација подршке за функције стр() и репр() за ЕНВ класу.
Датуми наредних издања биће накнадно објављени на следећим каналима комуникације: