2 Stimmen

Kann die Datei nicht über die Funktion in Scilab löschen

Ich habe den folgenden Code geschrieben, um einen Graphen mit den Daten aus der Datei 'datafile' zu plotten. Nachdem der Graph geplottet wurde, möchte ich die Datei löschen.

function plot_torque(datafile)
    //Dies ruft eine Datei auf und plottet den Graphen von net_torque vs. Zeit
    verbose = 1;
    // Spalten zum Plotten
    x_col = 1;
    y_col = 2;
    // Öffne die Datenfile
    file1 = file('open', datafile,'old');
    data1 = read(file1, -1, 4);
    time = data1(:,x_col);
    torque = data1(:,y_col);
    plot(time, torque, '.-b');
    xtitle("Generiertes Drehmoment vs. Zeit" ,"Zeit(s)" , "Generiertes Drehmoment(Nm/m)");
    file('close',file());
    //%________________%
endfunction

An der Stelle, die ich als //%________% markiert habe, habe ich versucht

deletefile(datafile);

und

mdelete(datafile);

Keines davon hat funktioniert. Und ich habe das Arbeitsverzeichnis auf den Ort gesetzt, an dem die oben genannte '.sci'-Datei und die 'datafile' vorhanden sind. Ich verwende scilab-5.4.1.

0voto

Attila Punkte 615

Sie haben wahrscheinlich die Datei offen gelassen. Versuchen Sie dies:

fil="d:\Attila\PROJECTS\Scilab\Stackoverflow\file_to_delete.txt";  //ändern Sie es!
fprintfMat(fil,rand(3,3),"%.2g");  //mit einigen Daten füllen

fd=mopen(fil,"r");  //öffnen
//etwas mit der Datei machen

mclose(fd);   //schließen
//Wenn Sie diese vorherige Zeile vernachlässigen (auskommentieren), bleibt die Datei geöffnet, 
//und Scilab kann sie nicht löschen!
//Wenn Sie diesen "Fehler" gemacht haben, sollten Sie es zuerst schließen, indem Sie ausführen:
//  mclose("all");
//ansonsten bleibt die Datei geöffnet, bis Sie Scilab schließen (und neu starten)!

mdelete(fil);   //das funktioniert für mich

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X