相対ディレクトリでファイルを検索するPythonスクリプトがあります。例:Pythonスクリプトはにあります/home/username/projectname/
。にあるPythonスクリプトに呼び出されたファイルがあります/home/username/projectname/subfolder
。
シェルでスクリプトを実行すると、python scriptname.py
正常に実行されます。
ただし、スクリプトを起動サービスとして実行しようとしています。 Webminで設定していて、それを呼び出すためのシェルスクリプトを生成すると思います。起動スクリプトを使用してスクリプトを呼び出すには、次の作業を行います。
execute python home/username/projectname/scriptname.py
スクリプトは正常に起動しますが、相対ディレクトリのファイルにアクセスすることはできません。
私は相対パスを知るために起動スクリプトからPythonプログラムを呼び出すより良い方法があると思います。
ベストアンサー1
速くて汚い:
起動スクリプトでPythonスクリプトを実行するのではなく、cd
最初に使用してください。
#!/bin/sh
cd /home/username/projectname &&
python ./scriptname.py