![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Очень часто приходится делать скрипты, которые будут запускаться на сервере.
А писать их нужно на локальном компьютере, причем желательно иметь возможность их тут же и тестить. Проблема в том что обычно настройки (например доступ к базе данных) на сервере и локально отличаются, а прописать 2 строчки и каждый раз перекоментировать их это тяжело (особенно когда таких мест есть несколько). Для пхп способ понятен: if ($_SERVER['REMOTE_ADDR']=='127.0.0.1') - значит локально запустился. А каким способом в python можно определить где запускается скрипт? Причем если даже на сервере, то как именно запускается - через браузер или из консоли? |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
Для таких ситуаций используют файлы конфигураций, из которых скрипт достает нужные параметры. Эти файлы отличаются для различного окружения.
Какой скрипт? Каком сервере? |
|||
|
||||
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Ну вот есть у меня в скрипте место
db = MySQLdb.connect(host="localhost", user="root", passwd="", db="bmd") Это настройки локального подключения к базе. А на сервере, где скрипт работает, настройки к базе другие. И хочется найти чему равны в питоне условия if (НА_СЕРВЕРЕ_ЧЕРЕЗ_БРАУЗЕР) elif (НА_СЕРВЕРЕ_ЧЕРЕЗ_КОНСОЛЬ) elif (ЛОКАЛЬНО_ЧЕРЕЗ_БРАУЗЕР) elif (ЛОКАЛЬНО_ЧЕРЕЗ_КОНСОЛЬ) Т.е. в пхп например $_SERVER['REMOTE_ADDR']=='127.0.0.1' это ЛОКАЛЬНО_ЧЕРЕЗ_БРАУЗЕР. Должны же быть аналогичные переменные в питоне? |
|||
|
||||
turist |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 13.8.2007 Где: Киев Репутация: нет Всего: нет |
Вам уже товарищ выше написал. В каком питоне, на каком сервере?? Питон - это язык, это не CGI-сервер и т.п. Поточнее определите среду, в которой работаете |
|||
|
||||
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Ух ты... Т.е. у него в зависимости от среды переменные среды не меняются, а появляются-пропадают?
python24/python24 winxp/freebsd |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
Почитал бы хоть книгу какую-нибудь по питону, сразу бы понял чем он отличается от php и почему паттерны оттуда не переносятся в питон. Ах да, и что такое переменные среды, я бы тоже тебе советовал узнать поконкретнее, а то не к месту употребляешь. Это сообщение отредактировал(а) Daevaorn - 24.2.2008, 13:53 |
|||
|
||||
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Что ж так все замусолили...
Да дайте просто ответ - есть ли это в питоне или нет. И если есть - покажите пожалуйста хоть один пример. Не верю что он больше строчки займет. А если так, то зачем эту всю воду в теме о "почитай" разводить - ведь неконструктивно совсем? И посылать книги читать вместо того чтобы одну одну строчку показать аналогично просто "посылать". Зачем? А если намного больше - то так и скажите, что в питоне этого нет, или сложно делается. Это сообщение отредактировал(а) kulibinka - 24.2.2008, 13:27 |
|||
|
||||
Andity |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 28.1.2008 Где: Ростов-на-Дону Репутация: 1 Всего: 1 |
kulibinka,
попробуй определять ОС, под которой стартует скрипт:
так же посомотри
если это имелось ввиду ![]() |
||||
|
|||||
Daevaorn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
Тебя попросили сказать какой сервер(и как к нему подключен питон) - ты не ответил, а без этого невозможно указать как получить информацию.
Верю, не верю тут роли не играет. Хорошо заданные вопрос - пол ответа. А почитать реально нужно, а то не понимаешь базовых принципов.
Затем, что думать надо самому и пытаться найти ответ не на форуме, а в первую очередь в книгах и гугле. |
||||||
|
|||||||
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Andity, спасибо, то что надо
![]() Вот все что уже поможет отличить запуск скрипта на сервере от запуска на своей виндовской машине: винда против сервера print os.altsep # / против None print os.defpath #C:\bin против :/bin:/usr/bin print os.name # nt против posix print os.pardir #.. против ..
Ну как же - оказалось через os.name очень даже возможно. Это сообщение отредактировал(а) kulibinka - 24.2.2008, 19:06 |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 9 Всего: 70 |
||||
|
||||
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Рыбак рыбака ![]() Спасибо, вопрос решен. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |