我目前正在使用Scala和Play Framework 2开发一个项目.我想在运行时编译一些Scala代码,并从解释器中获取结果.我在互联网上找到了一些例子,最后提出了以下代码:
package controllers
import play.api.mvc.{Action, Controller}
import javax.script.ScriptEngineManager
class Interpreter extends Controller {
val interpreter = new ScriptEngineManager().getEngineByName("scala")
val settings = interpreter.asInstanceOf[scala.tools.nsc.interpreter.IMain].settings
settings.embeddedDefaults[Interpreter]
settings.usejavacp.value = true
def index = Action {
Ok(views.html.interpreter())
}
def interpret(input: String) = Action {
implicit request => interpreter.eval("1 to 10 foreach println")
Ok("Got: " + input)
}
}
object Interpreter
Run Code Online (Sandbox Code Playgroud)
我的问题是scala.reflect.internal.FatalError: "package scala does not have a member Int",在尝试运行此代码时,我总是会收到错误.经过一些研究,我发现这篇文章中描述了类似的问题:
Scala和Play 2.0插件更新0.38.437已经完成
Scala编译器错误:包api没有成员materializeWeakTypeTag
我当前的Scala版本是2.11.4,所以我尝试在我的"build.sbt"文件中切换到不同的"scala-compiler"和"scala-library"版本,但没有成功.就像上面的帖子中提到的那样,它可能是Scala中的一个错误.我想知道是否有人为所述问题提供解决方案或任何解决方法.
提前感谢您的任何帮助或建议.
问题:有没有办法使用 Python 访问正在运行的进程的标准输出?这个过程没有被 Python 启动。
上下文:有一个名为mayabatch的程序,它可以从 3D Maya 场景文件中渲染出图像。如果我从命令行运行程序,我会看到来自mayabatch 的进度消息。有时,艺术家会关闭这些窗口,直到程序完成后才能追踪进度。这导致我沿着这条路线尝试在它由外部进程产生后读取它的标准输出。
背景:
到目前为止,我的研究:如果它是一个子流程,我只找到了有关如何使用该subprocess模块执行此操作的问题和答案。我还简要地研究了psutil,但我找不到任何方法来读取进程的标准输出。
任何帮助将非常感激。谢谢你。
我正在尝试在Maya中编写一个用户界面,并且它会让父母的多个级别变得令人难以置信,并且没有缩进.基本代码(没有任何功能)目前大约有400行,需要一段时间才能找到我需要的位.
例如,在没有注释的情况下使用以下代码
#Earlier user interface
py.rowColumnLayout( numberOfColumns = 5 )
py.text( label="", width = 1 )
py.text( label="Column 1", enable = False, width = 250 )
py.text( label="", width = 1 )
py.text( label="Column 2" enable = False, width = 250 )
py.text( label="", width = 1 )
py.text( label="" )
py.rowColumnLayout( numberOfColumns = 4 )
py.text( label=" Input data:", align="left" )
py.text( label="" )
py.text( label="" )
py.text( label="" )
py.textField( text = "Text here" )
py.text( label="" ) …Run Code Online (Sandbox Code Playgroud)