IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tcl/Tk Discussion :

Error deleting "Fichier.txt": permission denied


Sujet :

Tcl/Tk

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Error deleting "Fichier.txt": permission denied
    J'ai vu beaucoup de messages la-dessus mais aucun permettant de résoudre ce probleme.

    J'ai 2 fichiers .txt (Fichier1.txt et Fichier2.txt pour simplifier)
    file delete -force Fichier1.txt ;#fonctionne
    file delete -force Fichier2.txt ;# ne fonctionne pas
    file rename Fichier2.txt Fichier3.txt ;# ne fonctionne pas (error renaming "Fichier2.txt" to "Fichier3.txt": permission denied)

    Pourtant je peux travailler avec ce Fichier2.txt (le lire, écrire, l'ouvrir le fermer, etc) mais pas modifier son nom ou le détruire...

    Ces 2 fichiers .txt sont issus d'un programme perso qui les crée de façon différente. A la fin de mon programme de manipulation de fichiers, je veux détruire ces 2 fichiers qui ne servent plus.
    Si j'inverse la commande delete en commençant par Fichier2, je plante quand même sur Fichier.

    Je suis perdu (j'ai essayé des commandes after, catch, ...) :-( sans succès!
    HELP

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Points : 50
    Points
    50
    Par défaut
    Salut

    J'ai pas nécessairement la solution mais quelques pistes plutot :
    • Première chose à laquelle j'ai pensé : tes droits en écriture sont-ils corrects (chmod 777 sous linux par ex) ? Si comme tu dis tu crées ces fichiers là, il devrait pas y avoir de problème à ce niveau pour les supprimer mais peut-être que les fichiers sont encore "ouverts"/en cours de traitement, ce qui pourrait empécher la suppression.
    • T'as bien vérifié la casse (Fichier.txt différent de fichier.txt) ? On sait jamais...
    • T'es sur que le chemin indiquant tes fichiers est le bon ? Peut-être que la commande de suppression est exécutée dans un dossier ou les fichiers n'y sont pas. Un petit pwd pour vérifier et/ou un
      Code tcl : Sélectionner tout - Visualiser dans une fenêtre à part
      file exists Fichier1.txt

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Janvier 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Tout d'abord merci d'avoir passé du temps pour mon triste besoin ACIDVENOM.
    J'ai utilisé toutes les commandes que je connaissais sur "file" pour caractériser mon fichier... e il est "visible, simple, de taille normal, etc"
    Quant au chemin je travaille sur la racine de mes 2 fichiers (pour un cela marche, pas sur l'autre).

    Par contre tu as tout à fait raison, le système estime que mon "Fichier1.txt" est toujours en cours de traitement.
    Pour le savoir, j'ai quitté la console (exit). Je l'ai relancée, puis j'ai lancé mon "sous-programme" et tout se passe bien.
    Je parle sous programme car j'ai fais un starkit (.vfs + exécutable) qui lie plusieurs programmes. Le dernier sous-programme étant celui qui détruit les répertoires et les fichiers inutiles. Et mon sous-programme final détruit tout sauf le dernier qui est mon fameux "Fichier1.txt".
    Tous mes "sous-programmes" ferment pourtant bien mes 2 fichiers.txt par des "close"... mais Fichier1.txt reste un rebelle.

    J'aimerai bien contourner le problème en fermant ma console et que l’exécutable continue à fonctionner . Mais quand je lance un "exit" via le début de mon dernier "sous-programme" et bien il fait ce que je lui demande : la console s'éteint mais tout mes Fichiers et répertoires restent en vie... paix à leur âme résistante.

    J'avoue que je sèche un peu.
    En désespoir de cause, je vais tenter de passer par une interface tk, et à la fin quand je demanderai de clicker sur "ok" je ferai appel à la destruction de mes fichiers et par magie cela marchera.... oui je sais : je ne sais pas ce que je fais et je prie pour que çà marche!

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 18
    Points : 50
    Points
    50
    Par défaut
    Salut Thierry, de rien. Si ça peut aider, c'est toujours ça de pris
    Citation Envoyé par thierrywoody Voir le message
    Quant au chemin je travaille sur la racine de mes 2 fichiers (pour un cela marche, pas sur l'autre).
    Je comprend pas ce que tu veux dire quand tu parles de racine là. C'est la racine de l'arborescence du système d'exploitation (je suis pas expert, ça me semble bizarre de pouvoir placer des fichiers directement après à la racine, après c'est peut-être possible) ou bien le curseur parcourant les fichiers .txt ?

    Citation Envoyé par thierrywoody Voir le message
    Par contre tu as tout à fait raison, le système estime que mon "Fichier1.txt" est toujours en cours de traitement.
    Bon ben voila le problème alors, y a plus qu'à le résoudre.

    Citation Envoyé par thierrywoody Voir le message
    Pour le savoir, j'ai quitté la console (exit). Je l'ai relancée, puis j'ai lancé mon "sous-programme" et tout se passe bien.
    Je parle sous programme car j'ai fais un starkit (.vfs + exécutable) qui lie plusieurs programmes. Le dernier sous-programme étant celui qui détruit les répertoires et les fichiers inutiles. Et mon sous-programme final détruit tout sauf le dernier qui est mon fameux "Fichier1.txt".
    Tous mes "sous-programmes" ferment pourtant bien mes 2 fichiers.txt par des "close"... mais Fichier1.txt reste un rebelle.
    Est-ce que t'as essayé l'option channels pour la commande file ? ça te liste tous les canaux ouverts donc aussi les fichiers qui sont actuellement potentiellement en cours de traitement. Tiens un bon de code en exemple :

    Code tcl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    puts [pwd]
    cd C:/work_yw/tcl_labo/dvlpz
    puts [pwd]
     
    set cheminF1 "C:/work_yw/tcl_labo/dvlpz/Fichier1.txt"
    set f1 [open $cheminF1 a+]
    puts "exist Fichier1 [file exists $cheminF1]"
    puts $f1 "Je suis une horloge écrivante : [clock format [clock seconds]]"
     
    set cheminF2 "C:/work_yw/tcl_labo/dvlpz/Fichier2.txt"
    set f2 [open  $cheminF2 a+]
    puts "exist Fichier2 [file exists $cheminF2]"
    puts $f2 "Je suis une horloge écrivante : [clock format [clock seconds]]"
     
    puts [set listchnl [lsort [file channels]]]
    close $f1
    close $f2
     
    puts [lsort [file channels]]
     
    file delete $cheminF1
    file delete $cheminF2
     
    puts "exist Fichier1 [file exists $cheminF1]"
    puts "exist Fichier2 [file exists $cheminF2]"

    Citation Envoyé par thierrywoody Voir le message
    J'aimerai bien contourner le problème en fermant ma console et que l’exécutable continue à fonctionner . Mais quand je lance un "exit" via le début de mon dernier "sous-programme" et bien il fait ce que je lui demande : la console s'éteint mais tout mes Fichiers et répertoires restent en vie... paix à leur âme résistante.
    Ok... mais comme je ne vois pas concrètement le fonctionnement de ton code, j'ai du mal à déterminer si jamais quelque chose clochait à ce niveau justement.

    Citation Envoyé par thierrywoody Voir le message
    oui je sais : je ne sais pas ce que je fais et je prie pour que çà marche!
    T'es pas le seul à avoir cette impression rassures toi ! Dès que j'essaye d'utiliser une commande upvar, ça m'arrive aussi lol Mais reste positif et comme disent les proverbes, un imbécile qui marche ira toujours plus loin qu'un intellectuel restant assis et qui ne tente rien n'a rien

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par thierrywoody Voir le message
    J'ai vu beaucoup de messages la-dessus mais aucun permettant de résoudre ce probleme.

    J'ai 2 fichiers .txt (Fichier1.txt et Fichier2.txt pour simplifier)
    file delete -force Fichier1.txt ;#fonctionne
    file delete -force Fichier2.txt ;# ne fonctionne pas
    file rename Fichier2.txt Fichier3.txt ;# ne fonctionne pas (error renaming "Fichier2.txt" to "Fichier3.txt": permission denied)

    Pourtant je peux travailler avec ce Fichier2.txt (le lire, écrire, l'ouvrir le fermer, etc) mais pas modifier son nom ou le détruire...
    Bonjour,

    Ca ressemble plus à un problème de droit sur le répertoire qu'à un problème de droit sur les fichiers.

    Est-ce que tu as bien le droit d'écrire dans le répertoire où sont enregistrés ces fichiers ?

    Ça peut se tester comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    % # Test avec répertoire perso (toujours vrai) :
    % file writable ~
    1
    % # Test avec répertoire /sbin (toujours faux normalement)
    % file writable /sbin
    0
    % # Test avec les fichiers :
    % set fname /chemin/vers/Fichier1.txt
    % puts "Fichier : [file writable $fname] - Répertoire : [file writable [file dirname $fname]]"

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Le fichier était-il fermé ?

    Le Bertch

Discussions similaires

  1. [Python 2.X] Unicode Encode Error en ecriture fichier txt
    Par Thierry_V dans le forum Général Python
    Réponses: 7
    Dernier message: 08/07/2014, 19h26
  2. Error deleting "{FILE.txt}": permission denied
    Par baalk42 dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 08/04/2014, 14h49
  3. Importer un fichier avec postgres : permission denied
    Par cedrix57 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 10/12/2009, 16h41
  4. Linux error :13: Permission Denied
    Par manue85 dans le forum Oracle
    Réponses: 11
    Dernier message: 31/03/2005, 16h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo