2016-07-19 1 views
1

Je sais qu'il y a eu quelques messages sur la façon de déplacer un fichier en python mais je suis un peu confus. Je travaille sur un programme qui a un fichier appelé test.txtdéplacer un fichier en python en utilisant shutil

Le chemin du fichier est la suivante: C:\Users\user\Desktop\Project1\Project1
Je veux aller à: C:\Users\user\Documents\ProjectMoved
J'ai essayé différentes variations de ce que j'ai ci-dessous

src="C:\\Users\\user\\Desktop\\Project1\\Project1\\test.txt" 
dst="C:\\Users\\user\\Documents\\ProjectMoved" 
shutil.move(src, dst) 

Je continue d'obtenir l'erreur aucun fichier de ce type dans le répertoire.

Je me demandais si quelqu'un pouvait m'aider avec la bonne façon de déplacer le fichier.

+0

Est-ce que 'C: \ Users \ user \ Documents \ ProjectMoved' existe? Vous devez probablement le créer. –

+0

dst n'est pas cité correctement -. Trop de premier plan « s – AlG

+0

@Rawing oui il existe – csciBeginner

Répondre

1

est peut-être la peine de vérifier que le fichier existe et puis essayer de spécifier les chemins en utilisant os.path.join:

import shutil 
import os 
from os.path import join 

src = join('/', 'Users', 'username', 'Desktop', 'a.pdf') 
dst = join('/', 'Users', 'username', 'Documents', 'a.pdf') 

shutil.move(src, dst) 

Vous pouvez d'abord vérifier si le src existe réellement:

os.path.exists(src) 
>>> True 
+0

Il n'existe quand je le fais avec le src? = rejoindre – csciBeginner

+0

merci ça a marché.Pouvez-vous m'expliquer ce que fait la jointure? et pourquoi nous avions besoin du '/' – csciBeginner

+0

Existe-t-il un moyen de rechercher un fichier spécifique en python sur votre ordinateur – csciBeginner

0

Ce problème peut également être résolu de cette façon si vous essayez de déplacer plusieurs fichiers .txt du dossier A vers le dossier B. Ce principe peut être appliqué à votre problème depuis votre fichier .txt en mouvement.

import os 
import shutil 
os.chdir('C:\\') 

dir_src = ("C:\\Folder A\\") 
dir_dst = ("C:\\Folder B\\") 

for filename in os.listdir(dir_src): 
    if filename.endswith('.txt'): 
     shutil.move(dir_src + filename, dir_dst) 
    print(filename)