Форум сайта python.su
Есть програмка на Python, которая использует запись файла в определенную папку, также читает файл из этой же папки. Все работает, но стоит запустить программу Puthon находясь в другой папке, то она этих файлов не видит. Как ей указать требуемые пути? Система Ubuntu.
Офлайн
sentУказываете полный путь как и в любом приложении.
Как ей указать требуемые пути?
sentСкорее всего вам надо изучить что такое рабочий каталог. 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
но стоит запустить программу Puthon находясь в другой папке
Офлайн
Дело в чем я программу не писал. Разбираюсь. Уточню: программа лежит в (\home\user\sentinel\bin )
конфигурация ( home\user\sentinel ) , фаловая база данных ( \home\user\sentinel\database ).
Приааттачил саму программу внизу.
Прикреплённый файлы: sentinel.py (8,6 KБ)
Офлайн
Программа выглядит корректно. Надо отлаживать. Ну код ошибки можно еще глянуть.
sent
Система Ubuntu.
sentВыглядит крайне неправдоподобно. Наверное слеши в другую сторону?
программа лежит в (\home\user\sentinel\bin )
Офлайн
ой, слэши мой косяк) Программа работает безукоризненно - только где она исполняется, в такой папке и требует чтоб лежали и конфигурации и папка database. Я так понимаю гдето прописываются пути по умолчанию для запускаемых питон программ.
Поставил ее в кронтаб, и теперь вобще не пойму куда ей положить эти файлы))) Везде ошибка)
Офлайн
sentУ тебя должна быть конфигурация у самой программы. В этой конфигурации должно быть записано, где брать файлы. А чтобы составить конфигурацию, нужно, чтобы установщик при установке определил, где и что в системе, и по этой информации записал конфигурацию. Так у тебя программа после установки будет всё правильно находить.
Я так понимаю гдето прописываются пути по умолчанию для запускаемых питон программ.
sentПрограмма при запуске должна сама понимать, где у неё файлы (по своей конфигурации). Опираться в таком случае на систему можно, но при смене системы и запуске программы в другой системе всё это сломается. Поэтому должен быть установщик, который в одной системе положит всё в одно место, в другой - в другое, а программе настроит конфигурацию так, что программа будет потом по ней находить все свои файлы.
Поставил ее в кронтаб, и теперь вобще не пойму куда ей положить эти файлы
sentЕсли как временный вариант
Как ей указать требуемые пути?
* * * * * (cd полный_путь_к_директории_программы && python3 программа)
Отредактировано py.user.next (Апрель 29, 2018 00:38:08)
Офлайн
Да так и сделал, тот временный вариант. И положил файлы в каталог bin. Как обьяснить программе искать их на положенных местах хз..
Сама программа взята тут https://github.com/dashpay/sentinel
Офлайн