我遇到了一个奇怪的问题,一些打印到文件中的Python代码没有插入EOF字符。基本上,Python脚本生成运行脚本,稍后作为集群上的作业提交。实际上,我在“”之间编写了整个runscript,允许插入变量(在模拟中改变一些参数)。我用
with open(file_name, 'w') as runscrpt:
runscrpt.write("""ENTIRE_FILE_CONTENTS_HERE""")
语法。如果需要的话,我可以给出实际的代码,但这并不比上面提到的多。尽管脚本运行良好并生成了我所有的runsript,但每当我提交它们时,什么都没有发生。我花了很长时间才弄清楚原因,但这是因为他们缺少一个EOF字符。例如,我可以通过打开一个,在vim中的某个地方添加一些尾随空格或空行,然后重新保存该文件。在
为什么Python不插入EOF字符,有没有比用vim手动对所有文件进行琐碎编辑更好的解决方法呢?在
听起来你是说没有EOL(不是EOF!)最后,因为这就是
diff
通常会告诉你的。只需在写入结束时添加一个换行符(确保在最后的"""
结束符之前有一个换行符,或者显式地编写一个单独的换行符)。在(作为奖励,我加上了缺失的元音。)
相关问题 更多 >
编程相关推荐