Питхон

Како се користи пекпецт у Питхону

Како се користи пекпецт у Питхону

пекпецт је популаран Питхон модул за обављање различитих врста аутоматизованих задатака. Различите врсте интерактивних апликација као што су телнет, ссх, фтп итд., може се аутоматизовати помоћу овог модула. То је чисти Питхон модул и не захтева Ц компајлер или ТЦЛ или Екпецт екстензије као што други очекују модуле. То може лако да ради само користећи Питхон тумач.  Овај модул се може користити на два начина. Један од начина је коришћење трцати() функцију, а други начин је употреба мријести се класа. Тхе трцати() функција је једноставна за употребу од класе спавн и брзо извршава аутоматизоване задатке. Одређену наредбу или програм може извршити трцати() функција која враћа излаз. Ова функција се може користити као алтернатива ос.систем () функцију. Тхе мријести се класа је моћнија од трцати() функција која може родити подређени програм, комуницирати с њим слањем уноса и чекајући одговор. Овај модул је подразумевано инсталиран у питхон3. Два начина употребе овог модула приказана су у овом упутству.

Коришћење функције рун ()

Синтакса:

Синтакса трцати() функција је дата у наставку.  Има много аргумената у разне сврхе. Али углавном се користе прва 3 или 4 аргумента. Први аргумент ове функције је обавезан и узима наредбу коју ће ова функција извршити. Може вратити више излаза. Ако је витхекитстатус аргумент се користи са Нетачно валуе, вратит ће само излаз наредбе.

покрените (наредба, тимеоут = 30, витхекитстатус = Фалсе, догађаји = Ноне, ектра_аргс = Ноне, логфиле = Ноне, цвд = Ноне, енв = Ноне, ** кваргс)

Пример-1: Различите употребе функције рун ()

Три различите употребе трцати() функције приказане су у следећој скрипти. Тхе 'пвд'излаз команде се извршава у првом трцати() функција која ће приказати тренутну путању радног директорија. Даље, трцати() функција се користи за одређивање детаља одређене датотеке, а назив датотеке ће бити преузет од корисника. Трећи трцати() функција се користи за израду ссх везу и преузмите све датотеке и фолдере из веб директоријум.

# Увези модул пекпецт
импорт пекпецт
импорт ос
# Покрените једноставну команду
принт ("Тренутни радни директоријум: \ н% с"% пекпецт.рун ('пвд').декодирај ("утф-8"))
# Дохватите информације о одређеној датотеци
филенаме = инпут ("Унесите постојеће име датотеке:")
# Проверите да ли датотека постоји или не
ако ос.пут.постоји (име датотеке):
оутпут = пекпецт.покрените ("лс -л" + име датотеке, схекитстатус = 0)
принт ("Информације о одређеној датотеци: \ н% с"% излаз.декодирај ("утф-8"))
иначе:
принт ("Датотека не постоји.")
# Дохватите датотеке и директоријуме одређеног директоријума помоћу ссх наредбе
оутпут = пекпецт.рун ("ссх [заштићен е-поштом] 'лс веб /'", догађаји = '(?и) лозинка ':' 12345 \ н ')
принт ("\ нИзлаз наредбе ссх: \ н% с"% излаз.декодирај ("утф-8"))

Оутпут

Следећи излаз ће се појавити након извршавања горње скрипте. У излазу, доц1.пи је дао као назив датотеке, а детаљи ове датотеке су приказани. Даље, листа свих датотека веб директоријум приказан помоћу ссх веза.

Коришћење класе спавн

Синтакса класе спавн дата је у наставку. Конструктор ове класе може узети много аргумената у многе сврхе. Обавезан је први аргумент који ће наредбу узети на извршење.

спавн класе __инит __ (селф, цомманд, аргс = [], тимеоут = 30, макреад = 2000, величина прозора за претрагу = ноне, логфиле = ноне, цвд = ноне, енв = ноне)

Пример-2: Једноставна употреба класе мријеста

Једноставна употреба класе спавн приказана је у следећој скрипти. Тхе 'датумОвде је извршена наредба помоћу класе спавн. Излаз наредбе ће се добити стварањем објекта класе спавн, а излаз ће се одштампати у читљивом формату помоћу децоде () метода.

# Увези модул пекпецт
импорт пекпецт
# Покрените наредбу дате користећи спавн
дете = пекпецт.спавн ('датум')
# Прочитајте излазне податке детета без генерисања ЕОФ-а
дете.очекивати (пекпецт.ЕОФ)
# Спремите текст који очекује образац низа
излаз = дете.пре него што
# Одштампајте излаз
принт ("Тодаи ис:", оутпут.декодирај ("утф-8"))

Оутпут

Следећи излаз ће се појавити након извршавања горње скрипте.

Пример-3: Прочитајте садржај директоријума помоћу ссх везе

Стварање ссх везе и читање листе свих датотека и директоријума одређеног директоријума приказани су у следећој скрипти.  Овде ће лозинка дефинисаног корисника бити преузета од корисника за успостављање ссх везе помоћу класе спавн. Ако је дата лозинка нетачна, скрипта ће се прекинути приказивањем поруке о грешци.  Ако је дата лозинка тачна, али терминал није дефиниран, тада ће скрипта приказати поруку о успјеху везе, послати тип терминала и дефинирати очекивани образац наредбеног ретка. Ако је лозинка исправна и терминал дефиниран, скрипта ће приказати поруку о успјеху и командну линију љуске.

# Увези модул пекпецт
импорт пекпецт
# Подесите корисничко име за ссх везу
усернаме = '[заштићен е-поштом]'
# Узмите важећу лозинку од корисника
Пассворд = инпут ("Унесите лозинку за пријаву% с:"% усернаме)
# Покрени ссх наредбу користећи спавн
дете = пекпецт.спавн ('ссх' + корисничко име)
# Сачекајте лозинку
дете.очекивати ('лозинка:')
# Пошаљите лозинку преузету од корисника
дете.сендлине (лозинка)
# Очекивана три излаза
и = дете.очекивати (['Дозвола одбијена', 'Тип терминала', '[# \ $]'])
# ја ћу бити 0 ако ссх не може да се повеже
ако и == 0:
принт ("Домаћин одбио дозволу. Немогућност логовања")
дете.убити (0)
# ја ћу бити 1 ако ссх може да се повеже, али терминал није подешен
елиф и == 1:
принт ('Повезана успешно.\ нТип терминала није постављен.')
дете.сендлине ('вт100')
дете.очекивати ('[# \ $]')
# ја ћу бити 2 ако ссх може да се повеже и ако је терминал постављен
елиф и == 2:
принт ('Повезана успешно.')
промпт = дете.после
принт ('Схелл Цомманд Промпт:', промпт.декодирај ("утф-8"))

Оутпут

Следећи излаз ће се појавити када се горња скрипта изврши са погрешном лозинком.

Следећи излаз ће се појавити када се горња скрипта изврши са исправном лозинком.

Закључак

пекпецт је врло користан модул за кориснике Питхона који им помаже да аутоматски обављају своје редовне задатке. Основне употребе модула пекпецт Питхона описане су у овом упутству, користећи једноставне примере који помажу корисницима да започну рад са овим модулом.

5 најбољих аркадних игара за Линук
У данашње време рачунари су озбиљне машине које се користе за игре на срећу. Ако не успете да добијете нови високи резултат, знаћете на шта мислим. У ...
Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...
Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...