BastionClass (getfunc, атауы)

Nok_builtin_names

Қорғалатын режимінде қол жетімді емес кіріктірілген функцияларын Аттар.

Бұл сынып үшін Rexec '(' ашық ',' Reload ',' __import__ ')'. Ime- қосу

былайша алынған сыныптарда болуы тиіс:

класс MyRExec (Rexec):

...

nok_builtin_names = RExec.nok_builtin_names + ('атауы1', 'name2')

Тілі болашақ нұсқалары алдын ала жасалған болса, бұл проблемаларды болдырмау болады

Қауіпті жаңа мүмкіндіктер Bavleny.

Ok_builtin_modules

Кірістірілген және серпінді Жүктелетін модульдер аттары, онда пайдалану

қауіпсіз. Бұл сынып үшін Rexec '(' audioop ',' массив ',' binascii ',

«Cmath ',' қате белгісін қайтарады», «imageop ',' Маршал ',' математика», «MD5»,

«Оператор ',' парсерін ',' Regex ',' PCRE ',' ротор ',' таңдаңыз ',

«Strop ',' құрылымын ',' уақыты ')'.

Ok_path

Жылы модульдерді импорттау кезінде іздеген болады каталогтары,

Mode қорғалған. Класс Rexec үшін sys.path кезінде мәні қабылдауға

Модуль баптандыру Rexec.

Ok_posix_names

Қауіпсіз зорлық- қол жетімді болады модуль OS, айқындалғандай Аттар

стендтік. Бұл сынып үшін Rexec '(' қате ',' fstat ',' listdir ',' lstat ',

«Readlink ',' статистика», «есе ',' uname ',' getpid ',' getppid ',

«Getcwd ',),» getuid', 'getgid', 'geteuid' getegid '.

Ok_sys_names

қорғалған зорлық- қол жетімді болады модуль жүйесі анықталған атаулары,

стендтік. Бұл сынып үшін Rexec '(' PS1 ',' PS2 ',' авторлық құқық «,» нұсқасы «,

«Алаң», «шығу», «maxint ')'.

Даналары келесі әдістерді қолдайды Rexec. Әдістерін арасындағы айырмашылық

префикс 'r_ «және» s_' қалпына келтіру код кейін соңғы болып табылады, бұл

бастапқы айнымалылар sys.stdin, sys.stderr және sys.stdout жылы navlivayut

қоршаған ортаны жасау.

R_eval (коды)

S_eval (коды)

Есептеу және тіл Python мәнін қайтарады, қатаң ұсынылған

Coy немесе нысан коды коды. Есептеу сәйкес __main__ модулінде жүзеге асырылады

Ғимараттар қоршаған ортаны қорғау.

R_exec (коды)

S_exec (коды)

Орындайды модуль __main__ қоршаған ортаны құрылды тілі нұсқаулық Python,

коды немесе объектілік кодты желісін ұсынды.

R_execfile (файл атауы)

S_execfile (файл атауы)

Модуль ортаны код тілі Python, мазмұнды жасау __main__ орындайды

Файл файл schiysya.

Rexec сыныпқа сондай-ақ жанама деп аталады келесі әдістерді анықтайды

қорғалған режимде кодын орындау. Сіз алынған оларды ауыстыра алады

әдісі елемей (дегенмен белгіленген шектеулерді өзгертуге класс

) префикс 'r_' бар.

r_import (modulename [, Жаһандық [, жергілікті тұрғындар

[, Fromlist]]])

s_import (modulename [, Жаһандық [, жергілікті тұрғындар

[, Fromlist]]])

Бұл әдіс (бұр пайдаланылатын орнына кіріктірілген __import __ () болып табылады.

12) модулін импорттау. Ерекшелік ImportError лақтырып тиіс,

ол қауіпті болып саналады, егер.

r_open (файл атауы [, режимі [, bufsize]])

s_open (файл атауы [, режимі [, bufsize]])

Бұл әдіс (. 12-тармағын қараңыз)) (ашық орнына кірістірілген функциясы пайдаланылады. Туралы

Әдепкі әдісі r_open () сіз тек оқу кез келген файлды ашуға мүмкіндік береді

(Режимдері 'R' және 'Rb'). Әдісін жүзеге асырады, ол осы бөлімнің соңында мысал қараңыз

Аз шектеулермен r_open ().

R_reload (модуль)

S_reload (модуль)

Бұл әдіс орнына кіріктірілген функциясы без () (. 12-тармағын қараңыз) пайдаланылады

модулін қайта іске қосыңыз.

R_unload ()

S_unload ()

Сіз сөздіктен оны алып тастау (модулін түсіру үшін осы әдістерді пайдалануға болады

қоршаған ортаны құрылған sys.modules).

Мұнда сынып үлгісі болып табылады, сіз каталог енген файлдарды ашуға мүмкіндік береді

'/ Tmp:

Rexec импорт Rexec бастап

Os.path импорт normpath бастап, islink

класс TmpWriterRExec (Rexec):

Def (= bufsize, өзін-өзі, файл, режим = 'R' -1) r_open:

режимі емес ('R', 'Rb') егер:

файл = normpath (файл)

Қорғалған режимде 354 26-тарау жүгіру

файл, егер [: 5]! = '/ ТМЗ /' немесе islink (файл):

(IOError көтеру

) «Тыс / ПТМ жазу мүмкін емес»

return open(file, mode, bufsize)

26,2 Бастион - сынып жағдайларда қол шектейтін

Owls

Бұл модуль модуль пайдалануға арналған және Rexec қамтамасыз ету

барлық деректер атрибуттарының және қауіпті әдістерін қол жоққа қабілеті бір

Данасы.

Бастион (объект [, сүзуге [, аты [, bastionclass]]])

Әдепкі (класс bastionclass данасын қайтарады

Объект объект ретінде өзін, бірақ БЕРГЕН BastionClass),

атауы attr_name сүзгі (attr_name) ғана әдістері кіру

шындық. Функция сүзгі, әдепкі, алдын ала ажыратады

атаулары астын сызудың ('_') басталатын әдістеріне Stupas. Жанында

деректер атрибуттарын немесе тыйым әдісін кірмекші зерттеулер жасайды

AttributeError қосу. жол көрсетілімі (қолдану нәтижесі

кіріктірілген функциясы repr () немесе backquotes жасасу кезінде) қорғау

schennogo нысан '<аты үшін Бастион>' болып табылады. Аты салбыраңқы

немесе орнына repr (объект) пайдаланылатын атауы бірде-бір, тең.

BastionClass (getfunc, атауы)

Бұл (немесе оның туынды) класс дәлел ретінде пайдаланылады

bastionclass функциясы Бастион () және нысанның қорғауды жүзеге асырады. Дәлел

getfunc мәні atri- қайтарады, (функциясының түрі) функциясы болуы тиіс

Атрибут саналады, егер жалғыз аргумент ретінде өтті атымен бут

қол, егер қауіпсіз балқымалардың, және ерекшелік AttributeError ұрып

атрибут тыйым салынады. аты дәлел жолды генерациялау үшін пайдаланылады

объектінің ұсыну.

Тарау

Интернет хаттамасының қолдау

стандартты кітапхана қолдау көрсетуге модульдерінің жиынтығын ұсынады

Ең көп таралған хаттамалар Интернет. Біз тек ең жұмылдырылатын болады

жиі қолданылатын - жоғары деңгейі интерфейс қамтамасыз сол.

Наши рекомендации