| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > Как узнать где запускается скрипт |
| Автор: kulibinka 23.2.2008, 12:21 |
| Очень часто приходится делать скрипты, которые будут запускаться на сервере. А писать их нужно на локальном компьютере, причем желательно иметь возможность их тут же и тестить. Проблема в том что обычно настройки (например доступ к базе данных) на сервере и локально отличаются, а прописать 2 строчки и каждый раз перекоментировать их это тяжело (особенно когда таких мест есть несколько). Для пхп способ понятен: if ($_SERVER['REMOTE_ADDR']=='127.0.0.1') - значит локально запустился. А каким способом в python можно определить где запускается скрипт? Причем если даже на сервере, то как именно запускается - через браузер или из консоли? |
| Автор: kulibinka 23.2.2008, 12:42 |
| Ну вот есть у меня в скрипте место db = MySQLdb.connect(host="localhost", user="root", passwd="", db="bmd") Это настройки локального подключения к базе. А на сервере, где скрипт работает, настройки к базе другие. И хочется найти чему равны в питоне условия if (НА_СЕРВЕРЕ_ЧЕРЕЗ_БРАУЗЕР) elif (НА_СЕРВЕРЕ_ЧЕРЕЗ_КОНСОЛЬ) elif (ЛОКАЛЬНО_ЧЕРЕЗ_БРАУЗЕР) elif (ЛОКАЛЬНО_ЧЕРЕЗ_КОНСОЛЬ) Т.е. в пхп например $_SERVER['REMOTE_ADDR']=='127.0.0.1' это ЛОКАЛЬНО_ЧЕРЕЗ_БРАУЗЕР. Должны же быть аналогичные переменные в питоне? |
| Автор: turist 24.2.2008, 00:47 | ||
Вам уже товарищ выше написал. В каком питоне, на каком сервере?? Питон - это язык, это не CGI-сервер и т.п. Поточнее определите среду, в которой работаете |
| Автор: kulibinka 24.2.2008, 09:18 |
| Ух ты... Т.е. у него в зависимости от среды переменные среды не меняются, а появляются-пропадают? python24/python24 winxp/freebsd |
| Автор: Daevaorn 24.2.2008, 10:33 | ||
Почитал бы хоть книгу какую-нибудь по питону, сразу бы понял чем он отличается от php и почему паттерны оттуда не переносятся в питон. Ах да, и что такое переменные среды, я бы тоже тебе советовал узнать поконкретнее, а то не к месту употребляешь. |
| Автор: kulibinka 24.2.2008, 13:21 |
| Что ж так все замусолили... Да дайте просто ответ - есть ли это в питоне или нет. И если есть - покажите пожалуйста хоть один пример. Не верю что он больше строчки займет. А если так, то зачем эту всю воду в теме о "почитай" разводить - ведь неконструктивно совсем? И посылать книги читать вместо того чтобы одну одну строчку показать аналогично просто "посылать". Зачем? А если намного больше - то так и скажите, что в питоне этого нет, или сложно делается. |
| Автор: Andity 24.2.2008, 13:42 | ||||
| kulibinka, попробуй определять ОС, под которой стартует скрипт:
так же посомотри
если это имелось ввиду |
| Автор: Daevaorn 24.2.2008, 14:00 | ||||||
Тебя попросили сказать какой сервер(и как к нему подключен питон) - ты не ответил, а без этого невозможно указать как получить информацию.
Верю, не верю тут роли не играет. Хорошо заданные вопрос - пол ответа. А почитать реально нужно, а то не понимаешь базовых принципов.
Затем, что думать надо самому и пытаться найти ответ не на форуме, а в первую очередь в книгах и гугле. |
| Автор: kulibinka 24.2.2008, 19:04 | ||
| Andity, спасибо, то что надо Вот все что уже поможет отличить запуск скрипта на сервере от запуска на своей виндовской машине: винда против сервера print os.altsep # / против None print os.defpath #C:\bin против :/bin:/usr/bin print os.name # nt против posix print os.pardir #.. против ..
Ну как же - оказалось через os.name очень даже возможно. |
| Автор: Daevaorn 25.2.2008, 18:09 |
Что узнать, IP адрес? из браузера или консоли? Или имя системы, по которому НЕ определяется всё что было в вопросе? Определись уж что надо. Ох уж эти л.... |
| Автор: kulibinka 26.2.2008, 13:19 | ||
Рыбак рыбака Спасибо, вопрос решен. |