Найти - Пользователи
Полная версия: Path для программы Python
Начало » Python для новичков » Path для программы Python
1
sent
Есть програмка на Python, которая использует запись файла в определенную папку, также читает файл из этой же папки. Все работает, но стоит запустить программу Puthon находясь в другой папке, то она этих файлов не видит. Как ей указать требуемые пути? Система Ubuntu.
doza_and
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


Чтобы понять в чем у вас проблема вам необходимо выкладывать программный код.
sent
Дело в чем я программу не писал. Разбираюсь. Уточню: программа лежит в (\home\user\sentinel\bin )
конфигурация ( home\user\sentinel ) , фаловая база данных ( \home\user\sentinel\database ).
Приааттачил саму программу внизу.
doza_and
Программа выглядит корректно. Надо отлаживать. Ну код ошибки можно еще глянуть.
sent
Система Ubuntu.
sent
программа лежит в (\home\user\sentinel\bin )
Выглядит крайне неправдоподобно. Наверное слеши в другую сторону?

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

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

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

sent
Как ей указать требуемые пути?
Если как временный вариант
* * * * * (cd полный_путь_к_директории_программы && python3 программа)
Это переход в каталог программы, запуск программы в нём и возвращение в прежний каталог после завершения программы. Это можно не только в crontab вставлять, но и в обычные скрипты. Круглые скобки обязательны, когда в обычных скриптах выполняешь такое, иначе перейдёшь в каталог и останешься в нём и следующие команды станут в нём выполняться.
sent
Да так и сделал, тот временный вариант. И положил файлы в каталог bin. Как обьяснить программе искать их на положенных местах хз..
Сама программа взята тут https://github.com/dashpay/sentinel
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB