0
Pythonスクリプトでいくつかのタスクを自動化したいと思います。 基本的なアプリケーションはJavaで書かれています。私のような絶対パスとして新しいディレクトリのパスを渡すとPythonでのファイル操作Javaでのトリガー
#! python3
import sys,shelve,os
filename = 'log.txt'
logfile = open(filename,'w')
path = sys.argv[1]
path = os.path.abspath(path)
logfile.write(str(path))
logfile.close()
if not os.path.exists(path):
os.mkdir(path)
:私はちょうどPythonスクリプト上でディレクトリを作成しようとしているので、最初のIMで
Process p = Runtime.getRuntime().exec(PYLOCATION + " " + pyScript + " " + ARGS)
を使用するPythonのものをトリガする
static final String ARGS = "G:\\SNMP_Tool\\PythonScripts\\defaultDataBase";
私はそれを渡すと、それは
正常に動作する相対的e like
static final String ARGS = "..\\PythonScripts\\defaultDataBase";
です。 (もし私が直接Pythonスクリプトで相対パスの文字列を入力しても動作します)
Javaアプリケーションからタスクが開始された場合は、ログファイルlog.txtも書き込まれません。
私がマウスで.pyスクリプトを2回ヒットしたら、それはログファイルを必要に応じて書き込みます。
ファイルを書き込む際の問題は、ウィンドウからの承認である可能性があります。
しかし、なぜそれが引数文字列に相対パスを取るか?答え
お礼ありがとうございます。 作業ディレクトリのヒントは金色でした! 私の場合、私は で.pyスクリプトでこれらのダイレクトを取得することに決めました。currentDir = os.getcwd() – fusel