2013-06-27 3 views
2

J'ai écrit le code suivant pour tracer un graphique avec les données présentes dans le 'fichier de données'. Une fois le graphique tracé, je souhaite supprimer le fichier.Impossible de supprimer la fonction de transfert de fichier dans Scilab

function plot_torque(datafile) 
    //This will call a datafile and plot the graph of net_torque vs. time 
    verbose = 1; 
    // Columns to plot 
    x_col = 1; 
    y_col = 2; 
    // open the datafile 
    file1 = file('open', datafile,'old'); 
    data1 = read(file1, -1, 4); 
    time = data1(:,x_col); 
    torque = data1(:,y_col); 
    plot(time, torque, '.-b'); 
    xtitle("Torque Generated vs. Time" ,"Time(s)" , "Torque Generated(Nm/m)"); 
    file('close',file()); 
    //%________________% 
endfunction 

Au lieu que j'ai marqué comme //% ________% J'ai essayé

deletefile(datafile); 

et

mdelete(datafile); 

Aucun d'entre eux ont travaillé. Et j'ai défini le répertoire de travail où le fichier '.ci' ci-dessus est présent et le 'fichier de données' est présent. J'utilise scilab-5.4.1.

+0

Quelle fonction de retour deletefile en essayant de supprimer? Essayez de spécifier un chemin de fichier absolu. –

Répondre

0

Vous avez probablement laissé (à gauche) le fichier ouvert. Essayez ceci:

fil="d:\Attila\PROJECTS\Scilab\Stackoverflow\file_to_delete.txt"; //change it! 
fprintfMat(fil,rand(3,3),"%.2g"); //fill with some data 

fd=mopen(fil,"r"); //open 
//do something with the file 

mclose(fd); //close 
//if you neglect (comment out) this previous line, the file remains open, 
//and scilab can not delete it! 
//If you made this "mistake", first you should close it by executing: 
// mclose("all"); 
//otherwise the file remains open until you close (and restart) Scilab! 

mdelete(fil); //this works for me