Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать где запускается скрипт, локально, на сервере или из консоли 
V
    Опции темы
kulibinka
Дата 23.2.2008, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Очень часто приходится делать скрипты, которые будут запускаться на сервере.
А писать их нужно на локальном компьютере, причем желательно иметь возможность их тут же и тестить. 

Проблема в том что обычно настройки (например доступ к базе данных) на сервере и локально отличаются, а прописать 2 строчки и каждый раз перекоментировать их это тяжело (особенно когда таких мест есть несколько).

Для пхп способ понятен: 
if ($_SERVER['REMOTE_ADDR']=='127.0.0.1') - значит локально запустился.

А каким способом в python можно определить где запускается скрипт?
Причем если даже на сервере, то как именно запускается - через браузер или из консоли?
PM MAIL   Вверх
Daevaorn
Дата 23.2.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Для таких ситуаций используют файлы конфигураций, из которых скрипт достает нужные параметры. Эти файлы отличаются для различного окружения.
Цитата(kulibinka @  23.2.2008,  13:21 Найти цитируемый пост)
А каким способом в python можно определить где запускается скрипт?
Причем если даже на сервере, то как именно запускается - через браузер или из консоли? 

Какой скрипт? Каком сервере?
PM MAIL WWW   Вверх
kulibinka
Дата 23.2.2008, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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' это ЛОКАЛЬНО_ЧЕРЕЗ_БРАУЗЕР.
Должны же быть аналогичные переменные в питоне?
PM MAIL   Вверх
turist
Дата 24.2.2008, 00:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.8.2007
Где: Киев

Репутация: нет
Всего: нет



Цитата(kulibinka @ 23.2.2008,  12:42)
Т.е. в пхп например $_SERVER['REMOTE_ADDR']=='127.0.0.1' это ЛОКАЛЬНО_ЧЕРЕЗ_БРАУЗЕР.
Должны же быть аналогичные переменные в питоне?

Вам уже товарищ выше написал. В каком питоне, на каком сервере?? Питон - это язык, это не CGI-сервер и т.п. Поточнее определите среду, в которой работаете
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
kulibinka
Дата 24.2.2008, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Ух ты... Т.е. у него в зависимости от среды переменные среды не меняются, а появляются-пропадают?

python24/python24
winxp/freebsd
PM MAIL   Вверх
Daevaorn
Дата 24.2.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(kulibinka @  24.2.2008,  10:18 Найти цитируемый пост)
Ух ты... Т.е. у него в зависимости от среды переменные среды не меняются, а появляются-пропадают?

python24/python24
winxp/freebsd 

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

Это сообщение отредактировал(а) Daevaorn - 24.2.2008, 13:53
PM MAIL WWW   Вверх
kulibinka
Дата 24.2.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Что ж так все замусолили...
Да дайте просто ответ - есть ли это в питоне или нет. И если есть - покажите пожалуйста хоть один пример. 

Не верю что он больше строчки займет. А если так, то зачем эту всю воду в теме о "почитай" разводить - ведь неконструктивно совсем?
И посылать книги читать вместо того чтобы одну одну строчку показать аналогично просто "посылать". Зачем?


А если намного больше - то так и скажите, что в питоне этого нет, или сложно делается.

Это сообщение отредактировал(а) kulibinka - 24.2.2008, 13:27
PM MAIL   Вверх
Andity
Дата 24.2.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.1.2008
Где: Ростов-на-Дону

Репутация: 1
Всего: 1



kulibinka
попробуй определять ОС, под которой стартует скрипт:
Код

import os
os.name # самое элементарное


так же посомотри 
Код

help(platform)


если это имелось ввиду  smile 
PM MAIL ICQ GTalk Jabber   Вверх
Daevaorn
Дата 24.2.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(kulibinka @  24.2.2008,  14:21 Найти цитируемый пост)
Да дайте просто ответ - есть ли это в питоне или нет. И если есть - покажите пожалуйста хоть один пример. 

Тебя попросили сказать какой сервер(и как к нему подключен питон) - ты не ответил, а без этого невозможно указать как получить информацию.
Цитата(kulibinka @  24.2.2008,  14:21 Найти цитируемый пост)
Не верю что он больше строчки займет. А если так, то зачем эту всю воду в теме о "почитай" разводить - ведь неконструктивно совсем?

Верю, не верю тут роли не играет. Хорошо заданные вопрос - пол ответа. А почитать реально нужно, а то не понимаешь базовых принципов.
Цитата(kulibinka @  24.2.2008,  14:21 Найти цитируемый пост)
И посылать книги читать вместо того чтобы одну одну строчку показать аналогично просто "посылать". Зачем?

Затем, что думать надо самому и пытаться найти ответ не на форуме, а в первую очередь в книгах и гугле.

PM MAIL WWW   Вверх
kulibinka
Дата 24.2.2008, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Andity, спасибо, то что надо smile
Вот все что уже поможет отличить запуск скрипта на сервере от запуска на своей виндовской машине:

            винда против сервера
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
PM MAIL   Вверх
Daevaorn
Дата 25.2.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(kulibinka @  24.2.2008,  20:04 Найти цитируемый пост)
Ну как же - оказалось через os.name очень даже возможно.

Что узнать, IP адрес? из браузера или консоли? Или имя системы, по которому НЕ определяется всё что было в вопросе?
Определись уж что надо.
Ох уж эти л....
PM MAIL WWW   Вверх
kulibinka
Дата 26.2.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Цитата

Ох уж эти л.... 


Рыбак рыбака smile
Спасибо, вопрос решен.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0790 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.