Форум сайта python.su
1. Как сделать import модуля, который находится к примеру в c:/my_random_folder/
2. Как вызвать на исполнение другой скрипт ру и при этом сразу же завершить текущий. Это нужно для разных ОС, симбиан в частности. Ну типа скрипт делает обновление себя через интернет посредством вызова скрипта-апдетера и закрытия самого себя.
3. Как запустить код находящийся в другом файле в той же области видимости переменных. Бред какой-то написал. В общем ищу аналог include в php, если он есть конечно.
Офлайн
ReinRausдобавить эту директорию в sys.path
1. Как сделать import модуля, который находится к примеру в c:/my_random_folder/
ReinRausсмотрите модуль subprocess
2. Как вызвать на исполнение другой скрипт ру и при этом сразу же завершить текущий. Это нужно для разных ОС, симбиан в частности. Ну типа скрипт делает обновление себя через интернет посредством вызова скрипта-апдетера и закрытия самого себя.
ReinRausinclude к счастью нет. Можно поиграться с import + globals()/locals() или execfile
3. Как запустить код находящийся в другом файле в той же области видимости переменных. Бред какой-то написал. В общем ищу аналог include в php, если он есть конечно.
Офлайн
Daevaornмуторно. и много директорий. Притом возможно вообще неизвестно какая директория, а определяется пользователем.
добавить эту директорию в sys.path
Daevaornне пойдет… слишком сложно… я думал есть простое решение, дело в том, что один и тот же скрипт должен работать на разных ОС, а подгружать из интернета недостающие для работы модули или включать их сразу в архив при распространении не целесообразно.
смотрите модуль subprocess
DaevaornКогда код программы чрезмерно большой очень удобно выносить его часть в другой файл и потом вставлять при помощи include для улучшения читабельности. Связка “к счастью” не совсем корректна.
include к счастью нет.
Офлайн
DaevaornЭтого модуля на симбиан нет, если топикстартеру именно это нужно, но там есть возможнотсь запускать демона (но только без ui).
смотрите модуль subprocess
Офлайн
Скорее всего придется как раз таки и пересмотреть архитектуру. Изменить порядок: не основная программа вызывает обновление, а наоборот, сначала проверка обновления, потом старт основной программы.
Офлайн
Ну так обновляй, складывай новую версию в папку и импортируй. “Вынос” кода, это как раз модули.
ReinRausЗачем муторно? Делаешь пакет модулей в одной папке. И в sys.path добавляешь всего одну папку, в которая может опраделяться пользователем тоже…
муторно. и много директорий. Притом возможно вообще неизвестно какая директория, а определяется пользователем.
Офлайн
ReinRausos.exec* - загружает другой процес вместо текущего, насколько я понял то что тебе надо.
2. Как вызвать на исполнение другой скрипт ру и при этом сразу же завершить текущий. Это нужно для разных ОС, симбиан в частности. Ну типа скрипт делает обновление себя через интернет посредством вызова скрипта-апдетера и закрытия самого себя.
Офлайн
ReinRaus
3. Как запустить код находящийся в другом файле в той же области видимости переменных. Бред какой-то написал. В общем ищу аналог include в php, если он есть конечно.
from module import *
def fun():
from module import *
Офлайн
Совсем забыл добавить - такая директива не спасет человечество (тем более, что модуль все-равно должен лежать в path) и использовать ее совсем не рекомендуется. Импортировать модуль, зная путь, можно используя imp. Но по-хорошему нужно для начала курить http://www.python.org/dev/peps/pep-0302/
Еще неплохо ознакомится с модулем runpy.
Офлайн
>муторно. и много директорий. Притом возможно вообще неизвестно какая директория, а определяется пользователем.
__import__(путь_к_модулю)
Онлайн