将文本文件中列出的特定文件从源文件夹复制到目标文件夹

时间:2019-05-13 13:27:34

标签: python python-3.x

我有一个格式不同的文本文件中的文件名列表。我在Source文件夹中找到了多个文件,我想在源文件夹中搜索文件,并在文本文件中使用各自的文件名将这些文件复制并粘贴到目标文件夹中。

示例:

文本文件:仅包含有限的(选定文件)

SELECT

源文件夹:

C:/.../abc.doc::1
C:/.../def.doc::1
c:/.../ghu.doc::1
c:/.../zzz.doc::1

目标文件夹:

C:/.../abc.doc
C./.../12a.doc
C:/.../def.doc
c:/.../ghu.doc
c:/.../zzz.doc

我是python的新手,我尽了最大的努力,需要一些有价值的输入来完成我的家庭作业

C:/.../abc.doc
C:/.../def.doc
c:/.../ghu.doc
c:/.../zzz.doc

代码:

Step1: I like to select the text file
Step2: Slice the line only the file name (C:/.../abc.doc::1) to file name(abc) 
Step3: Search the file name in the source folder
Step4: Copy and paste it to destination folder.
  

从评论中复制:

import os
from tkinter import filedialog
from tkinter import *

root = Tk()
#FolderA = os.path.normpath(filedialog.askdirectory(initialdir="/", title="Select png source path")) + "\\"
text_file_list =  os.path.normpath(filedialog.askopenfilename(initialdir = "/", title="Select Rating text or csv file", filetypes = (("text files","*.txt"), ("all files","*.*"))))
FolderB = os.path.normpath(filedialog.askdirectory(initialdir="/", title="Select png source path")) + "\\"
print (FolderA)
print (FolderB)

os.chdir(text_file_list)

namelist = list()

for f in os.listdir():
    file_name,file_ext = os.path.splitext(f)
    namelist.append(file_name)

os.chdir(FolderB)

for findex, f in enumerate(os.listdir()):
    t = f
    strs.startswith('py') and strs.endswith("27")
    file_name,file_ext = os.path.splitext(f)
    os.rename(f, namelist[findex] + file_ext)
    print(file_name)

1 个答案:

答案 0 :(得分:0)

尝试此代码。希望它能起作用。

import os
import shutils

files = [os.path.join(SOURCE_PATH, f) for f in os.listdir(SOURCE_PATH)
                    if os.path.isfile(os.path.join(SOURCE_PATH, f))]
for file in files:
    shutil.move(file, DESTINATION_PATH)