第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在python中從zip文件深處提取文件

在python中從zip文件深處提取文件

慕的地8271018 2023-09-05 19:47:56
我正在編寫(xiě)一個(gè)腳本,可以自動(dòng)從我們從 Sentinel 2B 衛(wèi)星獲得的 zip 文件中提取數(shù)據(jù)。我需要從 zip 文件中獲取的文件的路徑如下: zipfile.zip/somefolder.SAFE/GRANULE/main_folder/IMG_DATA/它們都是 .jp2 文件,我需要將它們提取到具有以下結(jié)構(gòu)的另一個(gè)路徑: my_path/main_folder/我需要保留 zip 文件中的 main_folder 名稱(它因文件而異)。Ziplist 是 zip 文件路徑的列表for i in zipList:    if not os.path.exists(basePath + '/Raw_data/' + os.path.basename(i)[:-4]):        os.makedirs(basePath + '/Raw_data/' + os.path.basename(i)[:-4])    zipped_file = zipfile.ZipFile(i, 'r')    for file in zipped_file.namelist():        if fnmatch.fnmatch(file, "*.jp2"):            zipped_file.extract(file, basePath + '/Raw_data/' + os.path.basename(i)[:-4])但這保留了 zip 文件的文件結(jié)構(gòu)。我只想要 .jp2 文件/Raw_data/os.path.basename(i)[:-4]
查看完整描述

1 回答

?
繁星點(diǎn)點(diǎn)滴滴

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊

我想到了:


for i in zipList:

    folder_path = basePath + '/Raw_data/' + os.path.basename(i)[:-4]

    if not os.path.exists(folder_path):

        os.makedirs(folder_path)

    # print(os.path.basename(i))

    z = zipfile.ZipFile(i, 'r')

    for file in z.namelist():

        if fnmatch.fnmatch(file, "*.jp2") and str(file)[-8:-4] in ["_B02", "_B03", "_B04", "_B08"]:

            target = open(folder_path + '/' + os.path.basename(file), 'wb')

            target.write(z.read(file))

            target.close()

    z.close()

我必須在該位置創(chuàng)建一個(gè)新文件,并將 jp2 文件從 zip 文件復(fù)制到其中。


查看完整回答
反對(duì) 回復(fù) 2023-09-05
  • 1 回答
  • 0 關(guān)注
  • 266 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)