Я пытался написать код python, чтобы получить каждую строку из файла .txt и найти файл с таким именем в папке и вложенных папках. После этого я хочу переместить этот файл в заданную папку назначения.поиск и перемещение файлов с использованием python
Я попытался следующий код, который был размещен только на переполнение стека, но это не похоже на работу, и я не в состоянии выяснить problem.Any помощь будет высоко оценен:
import os
import shutil
def main():
destination = '/Users/jorjis/Desktop/new'
with open('/Users/jorjis/Desktop/articles.txt', 'r') as lines:
filenames_to_copy = set(line.rstrip() for line in lines)
for root, _, filenames in os.walk('/Users/jorjis/Desktop/folder/'):
for filename in filenames:
if filename in filenames_to_copy:
shutil.copy(os.path.join(root, filename), destination)
Отслеживать ('print') некоторые из ключевых переменных, чтобы увидеть, что происходит. Я бы начал с 'filenames_to_copy',' filename' и 'filenames'. Если вы не получаете сообщений об ошибках, возможно, это не поиск файлов. – cdarke
Отметьте первые 3 строки кода: «destination ...», «with ...», «filenames_to_copy» ... (SO не позволит мне это сделать !! grr). Эффект заключается в том, что файл будет снова закрыться после прочтения его содержимого. Затем добавьте 'print filenames_to_copy', чтобы узнать, читаются ли какие-либо имена файлов и какой формат они есть. – user1016274
@ user1016274: возникла проблема с filenames_to_copy, и она напечатала только последнюю строку файла и что разрешить эту проблему – goshanky