我使用Graal,使用Java和Python等组合语言。当尝试执行Pythonsintax以使用context.eval()读取/创建文件时,我遇到了问题。
我在终端中使用了使用Graalpython的代码:
out_file = File.new("cadena.txt", "w+")
out_file.puts("write your stuff here")
out_file.close 并且可以工作,但是当我试图运行一个代码来用context.eval()读取文件时:
codigoPython += "fichw = open('cadena.txt','r')";
codigoPython += "fichw.read() ";
codigoPython += "fichw.close() ";
Value filecontent = context.eval("python", codigoPython);它让我犯了这个错误:
PermissionError:(1,不允许操作,cadena.txt,无,无)
我也尝试使用sudo和sudo运行它,但是它给了我同样的错误。有人知道为什么会这样吗?
谢谢
发布于 2020-06-26 08:03:30
您需要给予上下文执行IO的权限:
Context context = Context.newBuilder("python").allowIO(true).build();对于实验/原型化,允许一切都是有用的:
Context context = Context.newBuilder("python").allowAllAccess(true).build();https://stackoverflow.com/questions/62585323
复制相似问题