Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 9, 2011 13:22:56

ctocopok
От:
Зарегистрирован: 2011-04-09
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

Пытаюсь разобраться во внутренней кухне Питона, интересно и непоняно.

Появился такой вопрос - имеется файл zzz.pyc, который хочется запустить из своего скрипта.
Как это сделать?
execfile ожидает сорцов, а не скомпилированный файл. Но есть только скомпилированные.

Вот например, модуль m.pyc ожидает в модуле config.pyc неких констант. Отредактировать config.pyc я не могу, хочу написать “обертку”.

То есть, скажем, переименовать config.pyc в config2.pyc, написать свой config.py где сначала вызвать оригинальный (ныне переименованный) файл, а затем уже переопределить то, что мне нужно.
Так можно сделать?



Advertising the only makes people buy things they don't need.

Офлайн

#2 Апрель 9, 2011 14:42:32

Subideal Ox
От:
Зарегистрирован: 2010-11-23
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

import zzz



Офлайн

#3 Апрель 9, 2011 14:52:46

ctocopok
От:
Зарегистрирован: 2011-04-09
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

спасибо!

import аналогичен include() у РНР? :)



Advertising the only makes people buy things they don't need.

Офлайн

#4 Апрель 9, 2011 15:19:57

Subideal Ox
От:
Зарегистрирован: 2010-11-23
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

ctocopok
import аналогичен include() у РНР?
точнее include_once(), но гораздо интереснее ;-)



Офлайн

#5 Апрель 9, 2011 16:00:41

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Скрипты-обертки

Subideal Ox
import zzz
Угу? Куда меня импортировать-то?

ctocopok
import аналогичен include() у РНР?
Нет. Импорт и инклюд, это совершенно разные вещи и если хочешь писать на питоне, то должен забыть про PHP. Эти языки не совместимы ни синтаксически, ни архитектурно, ни логически и в одной голове не умещаются.



Офлайн

#6 Апрель 9, 2011 22:49:32

ctocopok
От:
Зарегистрирован: 2011-04-09
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

То, что языки друг другу мешают, уже не раз ощущал. После написания с грехом пополам рабочего скрипта, а то и двух, надо было накарябать что-то на РНР.
Ну и тут ломать стало, доллар перед переменной поставь, точку с запятой не забудь, ну и еще многое.



Advertising the only makes people buy things they don't need.

Офлайн

#7 Апрель 10, 2011 02:34:18

ctocopok
От:
Зарегистрирован: 2011-04-09
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

О, еще вопрос.

В похапе есть такие функции как __FILE__ и __LINE__ помогающие, если что, определить, в каком мы файле.
Есть такое в Питоне?
Например, чтобы импортить файлы из того же каталога, что и импортирующий скрипт?



Advertising the only makes people buy things they don't need.

Офлайн

#8 Апрель 10, 2011 04:27:19

Subideal Ox
От:
Зарегистрирован: 2010-11-23
Сообщения: 65
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипты-обертки

ctocopok
В похапе есть такие функции как __FILE__ и __LINE__ помогающие, если что, определить, в каком мы файле.
Есть такое в Питоне?
Например, чтобы импортить файлы из того же каталога, что и импортирующий скрипт?
Здесь импортируют модули, а не файлы. Это принципиально. Забудь про аналогии и PHP. Читай документацию http://docs.python.org/reference/simple_stmts.html#the-import-statement

ZZZ
Угу? Куда меня импортировать-то?
Виноват :D



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version