1

我正在尝试在文件中输出一些数据,并且可以轻松地将数据输出到文件中。但是当我在文件中第二次输出数据时,它会附加上以前的数据。我想要做的是清除以前的数据并只插入新数据而不用旧数据附加新数据。下面是我的代码:

     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
4

1 回答 1

2

根据file-openNetLogo 词典中的文档

以写入模式打开文件时,所有新数据都将附加到原始文件的末尾。如果没有原始文件,则会在其位置创建一个新的空白文件。(您必须在文件目录中具有写权限。)(如果您不想追加,但想替换文件的现有内容,file-delete请先使用删除它,carefully如果您不确定它是否已经存在,可能在 a 中.)

换句话说,将其添加为您的第一行:

carefully [ file-delete "savedgame.txt" ] [ ]
于 2013-04-13T14:10:16.633 回答