我想用Python脚本自动完成一些任务。基本应用程序是用Java编写的。触发我使用的Python东西
Process p = Runtime.getRuntime().exec(PYLOCATION + " " + pyScript + " " + ARGS)
所以起初我只想尝试在python脚本上创建一个目录:
#! 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)
如果我将新目录的路径作为绝对路径传递
static final String ARGS = "G:\\SNMP_Tool\\PythonScripts\\defaultDataBase";
它工作正常
如果我相对喜欢它
static final String ARGS = "..\\PythonScripts\\defaultDataBase";
它不起作用。 (如果我直接在python脚本中输入相对路径的字符串,它可以工作)
如果任务从Java App启动,则永远不会写入logfile log.txt。
如果我用鼠标两次点击.py脚本,就会按原样写入日志文件。
我认为编写文件的问题可能是来自windows的授权。
但为什么不采用参数字符串的相对路径?
谢谢你的回答
我能想到两种方法:
String[] args = {pyScript, ARGS};
Process p = Runtime.getRuntime().exec(
PYLOCATION,
args,
new File("G:\....."))