Как отформатировать путь к файлу в необработанную строку, чтобы не было ошибки при распаковке - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь извлечь только файлы .tsv в подкаталогах в zip-файле. Я получаю сообщение об ошибке, потому что пути к файлам выглядят так:

'C: \ Users \ hcho \ OneDrive - Biocept \ Schultz \ Unzip \ variable_oncomine_tsv_2020-02-25 \ SCRS_02JAN2020_B_v1_Filtered_2020-02-21_10 : 40: 54-oncomine.tsv 'с двойным' \ '

вместо необработанной строки

' C: \ Users \ hcho \ OneDrive - Biocept \ Schultz \ Unzip \ variable_oncomine_tsv_2020-02-25 \ SCRS_02JAN2020_B_v1_Filtered_2020-02-21_10: 40: 54-oncomine.tsv '

Как преобразовать выходные данные os.getcwd (), чтобы они пришли как буквальная строка?

Вот мой код

import pandas as pd
import numpy as np
import os
import glob
import zipfile
import io
from datetime import date
import shutil

zip_files = []
for file in glob.glob("*.zip"):
    zip_files.append(file)

today = str(date.today())
new_dir_name = 'variant_oncomine_tsv'+'_'+today
if new_dir_name not in os.listdir():
    os.mkdir(new_dir_name)
cur_dir = os.getcwd()
destin = cur_dir+'\\'+new_dir_name
destin2 = r'variant_oncomine_tsv_2020-02-25'
def extract_oncomine_tsv(filename):
    with zipfile.ZipFile(filename) as z:
        for f in z.namelist():
            if '-oncomine.tsv' in f:
                filename = os.path.basename(f)
                #skip directories:
                if not filename:
                    continue

                #copy file (taken from zipfile's extract)
                source = z.open(f)
                target = open(os.path.join(destin,filename),'wb')
                with source, target:
                    shutil.copyfileobj(source, target)

for zips in zip_files:
    e = extract_oncomine_tsv(zips)

Это сообщение об ошибке, которое я получаю:

enter image description here

...