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