Je souhaite copier des fichiers d'un emplacement vers le chemin du bureau de l'utilisateur actuel. Pour obtenir cela dans Windows CMD, ce serait %userprofile%\Desktop
J'ai essayé:
FileNotFoundError: [Errno 2] No such file or directory: '\\Users\\joshua\\Desktop\\Impromptu_User.zip'
Et l'erreur de sortie est: p>
source_path = r"\\cpd-sts\UsersSoftware\Cognos" dest_path = os.path.join(os.environ["HOMEPATH"], "Desktop") file_name = "\\Impromptu_User.zip" shutil.copyfile(source_path + file_name, dest_path + file_name)
3 Réponses :
Unix utilise /
pour la séparation des fichiers, pas \
. Essayez ce qui suit:
source_path = r"/cpd-sts/UsersSoftware/Cognos" dest_path = os.path.join(os.environ["HOMEPATH"], "Desktop") file_name = "/Impromptu_User.zip" shutil.copyfile(source_path + file_name, dest_path + file_name)
Les barres obliques inverses restantes sont toujours erronées. Il n'est pas nécessaire d'échapper à une barre oblique, mais dans une chaîne r "..."
, chaque barre oblique inverse est de toute façon une barre oblique inverse littérale.
Ne fonctionne toujours pas ... FileNotFoundError: [Errno 2] Aucun fichier ou répertoire de ce type: '/cpd-sts/UsersSoftware/Cognos/Impromptu_User.zip'
Êtes-vous sur une machine Windows ou un Mac?
J'utilise Windows
Vous n'avez pas spécifié le "lecteur", tel que C:
, dans votre chemin de destination. La variable d'environnement HOMEPATH
sous Windows ne l'inclut pas. Il y a une deuxième variable, HOMEDRIVE
, que vous devrez ajouter au chemin. Là encore, il n'est pas clair pourquoi vous n'avez pas utilisé USERPROFILE
en premier lieu, puisque vous le mentionnez spécifiquement dans votre question et qu'il inclurait le lecteur et chemin. Vous pouvez utiliser le package winshell
pour cela, car il fournit des fonctions pratiques pour accéder à ces dossiers spéciaux:
>>> import winshell >>> winshell.desktop() 'C:\\Users\\(username)\\Desktop'
ModuleNotFoundError: Aucun module nommé 'win32con'
J'ai trouvé une solution:
source_path = r"\\cpd-sts\UsersSoftware\Cognos" dest_path = ("C:" + (os.path.join(os.environ["HOMEPATH"], "Desktop")) + "/Cognos") file_name = "\\Impromptu_User.zip" shutil.copyfile(source_path + file_name, dest_path + file_name)