我正在尝试编写一个脚本,该脚本将生成将在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,因为它是字符串:
知道如何在文件中强制非字符串输出,以便java编译器可以编译它吗?
答案 0 :(得分:5)
json.dump
将生成字符串的JSON表示形式。 (例如foo
变为"foo"
。)
您应该直接将字符串的内容写入文件:
with open('data.java', 'w') as out_file:
out_file.write(wholeProgram)