我正在编写一个带有文本文件的python脚本,并且应该生成另一个文本文件,其中某些行最少更改。
我一直陷入困境,并希望得到一些帮助。
目的是从命令行我可以运行:
$ ./script_j_to_uj.py eval_c_sensor.j eval_c_sensor.uj
并且.uj包含具有指定更改的.j文本。 到目前为止我的代码是:
#!/usr/bin/env python
import os, sys
input = open(sys.argv[1])
output = open(sys.argv[2], 'w')
for s in input.xreadlines( ):
output.write(s.replace("lib_c_support", "lljvm/lib/lib_c_support"))
output.write(s.replace(".method public <clinit>()V", ".method static <clinit>()V"))
output.write(s.replace("invokestatic java/lang/lljvm/lib/c/exit(I)V", ";;;; invokestatic java/lang/lljvm/lib/c/exit(I)V"))
output.write(s.replace(".method public static main([Ljava/lang/String;)V", ".method public static main()V"))
output.write(s.replace("invokestatic eval_c_sensor/main()I", "invokestatic eval_c_sensor/main2()I"))
output.write(s.replace(".method public static main()I", ".method public static main2()I"))
output.close( )
input.close( )
但这会产生错误。我相信我的第一个错误是查看文本文件,但我不确定。 错误是:
File "C:/Users/SvenA/OneDrive/Documents/temp/script.py", line 6, in <module>
for s in input.xreadlines( ):
AttributeError: '_io.TextIOWrapper' object has no attribute 'xreadlines'