実現したいこと
・タイムスケジューラのアプリ(C#言語による)を制作して、指定時刻にPythonスクリプトを実行したく、これをアプリから起動したい。
前提
・現在、Windowsのタイムスケジューラで指定時刻にPython言語のPythonスクリプトを起動して、プログラムを実行しています。これをWindowsのタイムスケジューラに頼らないC#言語によるアプリに置き換えたい。
・ドライブはCとDがあり、CドライブにWindows10システムが入っており、Python言語もここのユーザーフォルダに入っている。
・PATH設定は、環境変数設定でpython.exeについては行っている。
発生している問題・エラーメッセージ
・DOS窓での具体的な実行コマンドは「C:\Users\member>python.exe d:\program\code\main.py」です。
これは、実行できているタイムスケジューラで登録しているコマンドと同じ。
実行の経緯は、Pythonが起動しスクリプトmain.pyが実行されます。
プログラムの途中で一つ上のディレクトリ\programの位置に置いたエクセルファイル「parameter.xlsx」を読みに行くのですが、これが認識できずにエラー停止します。
DOS窓のカレントをDドライブにしてフォルダをスクリプトが置いてあるD:¥program\code にして「python.exe main.py」で実行すると、1つ上の階層にあるparameter.xlsxを読みエラーとなりません。
推理するのは、
python自身が、アプリケーション(main.py)のある位置を認識できていないため。その上のフォルダを探せないのでは?
と思うのですが、その対策が解りません。
pythonプログラムそのものをイジれば良いのでしょうが、それでは独立性に欠けるのでその方法はとりたくありません。
エラーメッセージ ```「FileNotFoundError: [Errno 2] No such file or directory: '../parameter.xlsx'」 ### 該当のソースコード
ソースコード
### 試したこと ### 補足情報(FW/ツールのバージョンなど)

回答3件
あなたの回答
tips
プレビュー