Partage
  • Partager sur Facebook
  • Partager sur Twitter

PermissionError: [Errno 13] Permission denied: 'C:

8 mars 2017 à 18:10:44

Bonjour en voulant éxecutez le simple scripts :

from gtts import gTTS
blabla = ("Spoken text")
tts = gTTS(text=blabla, lang='en')
tts.save("C:\\Users\\UserName\\Desktop\\C.I.S.C.O\\CISCO\\Synth")

a chaque fois il y'a ce message d'erreur meme si j'éxecute le programme en administrateur :

PermissionError: [Errno 13] Permission denied:

-
Edité par lorrio 8 mars 2017 à 19:55:13

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
8 mars 2017 à 19:05:40

Salut,

L'erreur PermissionError peut aussi être trigger, dans mes souvenirs, si le chemin est inaccessible.

Tu devrais regarder si ce chemin est valide, par exemple en pointant vers un fichier présent dans ton chemin (C:\\Users\\UserName\\Desktop\\C.I.S.C.O\\CISCO\\Synth), comme un fichier test.txt que tu crééerai juste pour le test.

-
Edité par lorrio 8 mars 2017 à 19:55:24

  • Partager sur Facebook
  • Partager sur Twitter
8 mars 2017 à 19:28:27

Artemix a écrit:

Salut,

L'erreur PermissionError peut aussi être trigger, dans mes souvenirs, si le chemin est inaccessible.

Tu devrais regarder si ce chemin est valide, par exemple en pointant vers un fichier présent dans ton chemin (C:\\Users\\UserName\\Desktop\\C.I.S.C.O\\CISCO\\Synth), comme un fichier test.txt que tu crééerai juste pour le test.

-
Edité par Artemix il y a 19 minutes


Oui la création du fichier .txt fonctionne, le chemin est valide, j'ai aussi essayer des désactiver mon antivirus, ce n'est pas lui qui bloque la création du fichier

-
Edité par lorrio 8 mars 2017 à 19:55:55

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
9 mars 2017 à 22:04:16

C'est quand même une histoire de chemin, essayes voir ce code (oui je me suis amusé un peu)

import ctypes
import os
from gtts import gTTS

SIZE = 1024

def get_desktop():
    SHGetSpecialFolderPath = ctypes.windll.shell32.SHGetSpecialFolderPathW
    buffer = ctypes.create_unicode_buffer(SIZE)
    res = SHGetSpecialFolderPath(None, buffer, 0x0000, False)
    if res:
        return buffer.value
    return None

blabla = ("Spoken text")
tts = gTTS(text=blabla, lang='en')

path_desktop = get_desktop()
if path_desktop:
    directory_file = os.path.join('C.I.S.C.O', 'CISCO', 'Synth')
    f = os.path.join(path_desktop, directory_file)
    tts.save(f)

Pour avoir le chemin du bureau (spécifique à l'OS) je me suis senti l'âme d'utiliser l'API Windows avec ctypes.

Dis moi si ce code est fonctionnel...

  • Partager sur Facebook
  • Partager sur Twitter
10 mars 2017 à 7:40:41

oldProgrammer a écrit:

C'est quand même une histoire de chemin, essayes voir ce code (oui je me suis amusé un peu)

import ctypes
import os
from gtts import gTTS

SIZE = 1024

def get_desktop():
    SHGetSpecialFolderPath = ctypes.windll.shell32.SHGetSpecialFolderPathW
    buffer = ctypes.create_unicode_buffer(SIZE)
    res = SHGetSpecialFolderPath(None, buffer, 0x0000, False)
    if res:
        return buffer.value
    return None

blabla = ("Spoken text")
tts = gTTS(text=blabla, lang='en')

path_desktop = get_desktop()
if path_desktop:
    directory_file = os.path.join('C.I.S.C.O', 'CISCO', 'Synth')
    f = os.path.join(path_desktop, directory_file)
    tts.save(f)

Pour avoir le chemin du bureau (spécifique à l'OS) je me suis senti l'âme d'utiliser l'API Windows avec ctypes.

Dis moi si ce code est fonctionnel...

Oui le code est fonctionel mais j'ai trouvé l'origine du problème ... en fait il faut simplement ajouter le nom du fichier que l'on veut enregistrer a la fin du chemin d'accé ...

  • Partager sur Facebook
  • Partager sur Twitter
20 octobre 2021 à 0:57:19 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


20 octobre 2021 à 4:06:57

@ParkerParker Bonjour, merci de ne pas déterrer d'ancien sujet.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter