使用Python将java程序编写为String

时间:2016-06-27 22:21:01

标签: java python json

我正在尝试编写一个脚本,该脚本将生成将在Android Studio中使用的java文件。我这样做的原因是因为我将生成具有不同信息的不同JSON文件,并且我想使用这些JSON文件生成适当的java文件,如果这是有意义的。目前,我正在测试在以下python脚本中的文件中编写简单java程序的整个过程:

dataClass = "public class data {"
mainMethodHeader = "public static void main(String args[]) {"
sys = "System.out.println(\"Hello World!\");"
closingbracket = "}"
wholeProgram = dataClass + mainMethodHeader + sys + closingbracket + closingbracket
json.dump(wholeProgram, open('data.java', 'w+'))

问题是我无法编译data.java,因为它是字符串:

enter image description here

知道如何在文件中强制非字符串输出,以便java编译器可以编译它吗?

1 个答案:

答案 0 :(得分:5)

json.dump将生成字符串的JSON表示形式。 (例如foo变为"foo"。)

您应该直接将字符串的内容写入文件:

with open('data.java', 'w') as out_file:
    out_file.write(wholeProgram)