CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python/Windows/CMD] Gestion de plusieurs espaces contiguës dans un chemin

[hard]ware
[hard]ware
Niveau 14
14 avril 2019 à 22:12:33

Salut :ok:

Bon alors j'essaye de me faire un petit programme python assez simpliste :
Lancer un épisode de Kaamelott au hasard.

Les épisodes (et le programme) sont stockés sur un disque réseau dont voici l'arborescence :
https://i.gyazo.com/8ca0750f91007bf888b6b1dba506c1e6.png
https://i.gyazo.com/a808b60dd4b508b261087c9f70764f69.png
https://i.gyazo.com/f5e50a61859e6b0d75a504d075cc0757.png

Pour moi la difficulté c'est vraiment de traiter avec les chemins Windows, étant donné que j'ai toujours codé uniquement sous Linux.

Donc voici mon "programme" qui en dehors des importations et macros fait... 4 lignes :hap: :
https://pastebin.com/Lu9CCu6M
Ouais les chemins c'est vraiment pas beau, avec tous ces caractères qui doivent être échappés, et la chaine qui doit être donnée entre guillemets à Windows, donc doubles guillemets puisqu'il en faut pour Python aussi ...

Bon, vous vous en doutez, ça marche pas :hap:
https://i.gyazo.com/1df371b4864af7e56cc20b647ca115c2.png
Clairement, ça a l'air de venir du nom du fichier. Je croyais au début que c'était une tabulation qui se trouve dans le nom :doute: Mais non, ce sont trois espaces :pf:
Enfin y'a 450 fichiers, je vais pas m'amuser à tous les renommer...

Autant pour un espace il "suffisait" de mettre le chemin entre guillemets, autant pour plusieurs espaces d'affilé, je sais pas.

Pour la commande de lancement, j'ai fait ça à la Linux, genre ./programme argument et coup de bol ça fonctionne (sauf que c'est Start à la place de ./ )
J'ai fait un test avec un fichier sans espace ou tabulation dans le nom et ça fonctionne :
os.system('Start %s %s' % (VIDEO_PLAYER, KAAMELOTT_PATH + "Livre6\\episodes\\test.mkv"))

Voilà, comment je peux gérer ces fichus espaces ? :(

:merci:

[hard]ware
[hard]ware
Niveau 14
14 avril 2019 à 22:31:08

Aaah j'ai trouvé :hap:

le nom de mon épisode n'était pas entre guillemets ! j'avais pas fait attention à ça :(

Donc voici le programme qui fonctionne :
https://pastebin.com/E98Vpm7b

...Et dire que j'ai passé 3 heures sur ce programme :rire:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment