我正在尝试在文件中输出一些数据,我可以轻松地在文件中输出数据。但是当我在文件中第二次输出数据时,它会附加以前的数据。我想要做的是清除以前的数据并仅插入新数据而不用旧数据附加新数据。以下是我的代码:
file-open "savedgame.txt"
foreach sort turtles [
ask ? [
file-print (turtlenumbers) // ; This appends the "turtlenumbers" with old data in
// ; file (if any). I want to clear file before
// ;writing "turtlenumbers" in the file
file-print ""
]
]
file-close
答案 0 :(得分:2)
根据file-open
documentation in the NetLogo dictionnary:
在写入模式下打开文件时,所有新数据都将附加到 原始文件的结尾。如果没有原始文件,则为新文件 将在其位置创建空白文件。 (你必须写 文件目录中的权限。)(如果你不想追加,但是 想要替换文件的现有内容,请使用
file-delete
如果您不确定是否可以在carefully
内删除它 它已经存在。)
换句话说,将其添加为第一行:
carefully [ file-delete "savedgame.txt" ] [ ]