Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 28, 2018 13:31:05

sent
Зарегистрирован: 2018-04-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Path для программы Python

Есть програмка на Python, которая использует запись файла в определенную папку, также читает файл из этой же папки. Все работает, но стоит запустить программу Puthon находясь в другой папке, то она этих файлов не видит. Как ей указать требуемые пути? Система Ubuntu.

Офлайн

#2 Апрель 28, 2018 15:16:40

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Path для программы Python

sent
Как ей указать требуемые пути?
Указываете полный путь как и в любом приложении.
https://ru.wikipedia.org/wiki/%D0%9F%D1%83%D1%82%D1%8C_%D0%BA_%D1%84%D0%B0%D0%B9%D0%BB%D1%83
sent
но стоит запустить программу Puthon находясь в другой папке
Скорее всего вам надо изучить что такое рабочий каталог. https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9_%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3


Чтобы понять в чем у вас проблема вам необходимо выкладывать программный код.



Офлайн

#3 Апрель 28, 2018 16:19:03

sent
Зарегистрирован: 2018-04-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Path для программы Python

Дело в чем я программу не писал. Разбираюсь. Уточню: программа лежит в (\home\user\sentinel\bin )
конфигурация ( home\user\sentinel ) , фаловая база данных ( \home\user\sentinel\database ).
Приааттачил саму программу внизу.

Прикреплённый файлы:
attachment sentinel.py (8,6 KБ)

Офлайн

#4 Апрель 28, 2018 16:39:59

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Path для программы Python

Программа выглядит корректно. Надо отлаживать. Ну код ошибки можно еще глянуть.

sent
Система Ubuntu.
sent
программа лежит в (\home\user\sentinel\bin )
Выглядит крайне неправдоподобно. Наверное слеши в другую сторону?



Офлайн

#5 Апрель 28, 2018 21:51:47

sent
Зарегистрирован: 2018-04-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Path для программы Python

ой, слэши мой косяк) Программа работает безукоризненно - только где она исполняется, в такой папке и требует чтоб лежали и конфигурации и папка database. Я так понимаю гдето прописываются пути по умолчанию для запускаемых питон программ.
Поставил ее в кронтаб, и теперь вобще не пойму куда ей положить эти файлы))) Везде ошибка)

Офлайн

#6 Апрель 29, 2018 00:22:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Path для программы Python

sent
Я так понимаю гдето прописываются пути по умолчанию для запускаемых питон программ.
У тебя должна быть конфигурация у самой программы. В этой конфигурации должно быть записано, где брать файлы. А чтобы составить конфигурацию, нужно, чтобы установщик при установке определил, где и что в системе, и по этой информации записал конфигурацию. Так у тебя программа после установки будет всё правильно находить.

Это и есть обслуживание проекта. Ты пишешь не только программу, но и установщик для неё, который тоже может быть довольно сложным.

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

sent
Как ей указать требуемые пути?
Если как временный вариант
* * * * * (cd полный_путь_к_директории_программы && python3 программа)
Это переход в каталог программы, запуск программы в нём и возвращение в прежний каталог после завершения программы. Это можно не только в crontab вставлять, но и в обычные скрипты. Круглые скобки обязательны, когда в обычных скриптах выполняешь такое, иначе перейдёшь в каталог и останешься в нём и следующие команды станут в нём выполняться.



Отредактировано py.user.next (Апрель 29, 2018 00:38:08)

Офлайн

#7 Май 3, 2018 17:38:01

sent
Зарегистрирован: 2018-04-28
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Path для программы Python

Да так и сделал, тот временный вариант. И положил файлы в каталог bin. Как обьяснить программе искать их на положенных местах хз..
Сама программа взята тут https://github.com/dashpay/sentinel

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version