Sélectionnez plusieurs fichiers avec l'explorateur Windows
Philippe1234
-
Philippe1234 -
Philippe1234 -
Bonjour,
J'utilise un script qui me permet de sélectionner un dossier, puis un fichier et de concaténer le nom du dossier et du fichier pour réutiliser l'ensemble.
Le soucis, c'est que pour un fichier avec la fonction
Voici mon code Python :
Merci pour votre aide.
J'utilise un script qui me permet de sélectionner un dossier, puis un fichier et de concaténer le nom du dossier et du fichier pour réutiliser l'ensemble.
Le soucis, c'est que pour un fichier avec la fonction
.askopenfilename()cela fonctionne très bien mais avec la fonction
.askopenfilenames()j'ai une erreur :
File "C:/Users/PycharmProjects/HarmonizationScipt/test36.py", line 11, in <module> file_path = os.path.join(current_directory,select_file) File "C:\Users\Anaconda3\lib\ntpath.py", line 115, in join genericpath._check_arg_types('join', path, *paths) File "C:\Users\Anaconda3\lib\genericpath.py", line 153, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'tuple'
Voici mon code Python :
from tkinter import Tk from tkinter import filedialog import os root = Tk() root.withdraw() current_directory = filedialog.askdirectory() select_file = filedialog.askopenfilenames() file_path = os.path.join(current_directory,select_file) print(file_path)
Merci pour votre aide.
Configuration: Windows / Chrome 80.0.3987.132
A voir également:
- Sélectionnez plusieurs fichiers avec l'explorateur Windows
- Explorateur de fichiers - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Clé windows 8 - Guide
- Montage video windows - Guide
- Windows ne démarre pas - Guide
2 réponses
Hello,
La raison pour laquelle tu as une erreur est que la fonction
Pour résoudre cette erreur tu as juste a transformer ton tulpe en string :
Cependant cela va laisser les parenthèses et les guillemets apparent, tu peux si tu veux les enlever utiliser la fonction
Bon courage :)
La raison pour laquelle tu as une erreur est que la fonction
.askopenfilenames()renvoie ce qu'on appel un tulpe ce qui en très gros est une liste (cf: https://openclassrooms.com/fr/courses/235344-apprenez-a-programmer-en-python/232026-creez-des-listes-et-des-tuples-1-2)
Pour résoudre cette erreur tu as juste a transformer ton tulpe en string :
file_path = os.path.join(current_directory,str(select_file))
Cependant cela va laisser les parenthèses et les guillemets apparent, tu peux si tu veux les enlever utiliser la fonction
.replace()(cf: https://www.programiz.com/python-programming/methods/string/replace)
Bon courage :)