выберите конкретное имя zip-файла и разархивируйте его в соответствующую папку, используя python - PullRequest
1 голос
/ 12 июня 2019

У меня есть каталог, в котором есть список файлов с разными именами.Я хочу разархивировать их и скопировать файлы в их соответствующие местоположения.

Предположим, ниже находится мое местоположение каталога:

F:\Download_Data\myData\

У него ниже набор zip-файлов:

ABC_EMPLOYEECODES20190513.txt.zip
ABC_EMPLOYEECODES20190516.txt.zip
ABC_EMPLOYEECODES20190521.txt.zip
ABC_EMPLOYEECODES20190528.txt.zip

и

ABC_EMPLOYEEDETAILS20190413.txt.zip
ABC_EMPLOYEEDETAILS20190416.txt.zip

Я хотел бы прочитать вышеуказанный каталог, распаковать / распаковать эти файлы и поместить их в соответствующее место в зависимости от имен файлов:

ABC_EMPLOYEECODES20190513.txt
ABC_EMPLOYEECODES20190516.txt
ABC_EMPLOYEECODES20190521.txt
ABC_EMPLOYEECODES20190528.txt

Выше приведенофайлы должны идти в это место: 'F:\EmployeeCode\myData\'

И ниже указанные файлы должны идти в это место: 'F:\EmployeeDetails\myData\'

ABC_EMPLOYEEDETAILS20190413.txt
ABC_EMPLOYEEDETAILS20190416.txt

Вот код, который я пытаюсь выполнить для выполнения задачи:

import zipfile
import os
zipfilepath="F:/Download_Data/myData"
unzipfilepath1 = "G:/testfolder1"
unzipfilepath2 = "G:/testfolder2"

for root,dirs,files in os.walk(zipfilepath):
    for file in files:
        if file.startswith("ABC_EMPLOYEECODES"):
           filepath1=os.path.join(root,file)
           with zipfile.ZipFile(filepath1,"r") as zip_ref:
                zip_ref.extractall(unzipfilepath1)
        elif file.startswith("ABC_EMPLOYEEDETAILS"):
            filepath2=os.path.join(root,file)
            with zipfile.ZipFile(filepath1,"r") as zip_ref:
                zip_ref.extractall(unzipfilepath2)

Теперь работает нормально.Любое предложение приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...