##Java使用Jython,如何切换python项目
###假设C盘下有这样的目录结构(两个包含python代码的文件夹):
文件夹:C:/jython/p1
文件夹:C:/jython/p2
###我的代码:(执行结果已经在注释中)
public class Demo1 {
public static void main(String[] args) {
PySystemState sys = Py.getSystemState();
sys.path.add("C:/Jython/p1");
PythonInterpreter i1 = new PythonInterpreter(null,sys);
/**
* 输出:
* 调用了p1/t1.m1
* 执行p1/t2完毕
*/
i1.execfile("C:/Jython/p1/t2.py");
sys.path.remove(4,5);//根据下标删除C:/Jython/p1
sys.path.add("C:/Jython/p2");
PythonInterpreter i2 = new PythonInterpreter(null,sys);
/**
* 输出:
* 调用了p1/t1.m1
* 执行p2/t2完毕
*/
i1.execfile("C:/Jython/p1/t2.py");
}
}
###现象:
第二个输出给人的感觉就是p2中的t1.py没有被导入。
###问题:
怎样才能让第二个输出语句输出的是调用p2/t1.m1?即让p2/t1.py覆盖原有的p1/t1.py
###我所知道:
Py.getSystemState()获取到的是Python中的sys(Jython Api解释),所以应该怎样设置Python文件的目录,用什么对象/操作进行目录地址的存储???