2016-07-19 2 views
1

Я знаю, что были некоторые сообщения о том, как переместить файл в python, но я немного смущен. Я работаю над программой, которая имеет файл с именем test.txtперемещение файла в python с помощью shutil

Файл путь заключается в следующем: C:\Users\user\Desktop\Project1\Project1
Я хочу, чтобы переместить его: C:\Users\user\Documents\ProjectMoved
Я пробовал разные варианты того, что я ниже

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

Я продолжаю получать сообщение об ошибке такого файла в каталоге.

Мне было интересно, может ли кто-нибудь помочь мне с правильным способом перемещения файла.

+0

Существует ли 'C: \ Users \ user \ Documents \ ProjectMoved'? Вам, вероятно, придется его создать. –

+0

dst неправильно цитируется - слишком много ведущих. – AlG

+0

@Rawing да, он существует – csciBeginner

ответ

1

Может быть стоит проверить, существует ли файл, а затем пытается указать пути, используя 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) 

Вы можете сначала проверить, если src на самом деле существует:

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

Он существует, когда я делаю это с помощью src = join – csciBeginner

+0

спасибо, что это сработало. Можете ли вы объяснить мне, что такое соединение? Почему нам нужен «/» – csciBeginner

+0

Также есть способ поиска всего вашего компьютера для определенного файла в python – csciBeginner

0

Эта проблема может быть решена таким образом, если вы пытаетесь переместить несколько TXT-файлов из папки A в папку B. Этот принцип может быть применен к вашей проблеме с вашего перемещающегося .txt-файла.

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) 
Смежные вопросы