私は Python の初心者で、文字列を含む 2 つのリストの一致に問題がありました。
正規表現を使用して txt メタファイルから Landsat 画像のバンド名を抽出し、次のようなリストを作成しました。
bant = ['LT5YYYYYYYYYYYYYXXX02_B1.TIF', 'LT5YYYYYYYYYYYYYXXX02_B2.TIF','LT5YYYYYYYYYYYYYXXX02_B3.TIF', 'LT5YYYYYYYYYYYYYXXX02_B4.TIF', 'LT5YYYYYYYYYYYYYXXX02_B5.TIF', 'LT5YYYYYYYYYYYYYXXX02_B6.TIF', 'LT5YYYYYYYYYYYYYXXX02_B7.TIF']
「YYYYYYYYYYYYYY」はシーンごとに変わるバンド固有の名前です。そして、各文字列を変数に割り当ててから、新しいリストに割り当てました。
bant1 = bant[0]
bant2 = bant[1]
.
.
bant7 = bant[6]
bant = [bant1,bant2,bant3,bant4,bant5,bant6,bant7]
また、Python os モジュールを使用して、このような txt Metafile と同じディレクトリにある GeoTIFF ファイルの名前を抽出しました。
import os
import re
def mtl():
file=[]
path = os.getcwd()
for filelist in os.listdir(path):
if filelist.endswith(".TIF"):
file.append(filelist)
出力付き:
file = ['LT5YYYYYYYYYYYYYXXX02_B1.TIF', 'LT5YYYYYYYYYYYYYXXX02_B2.TIF']
私が立ち往生した問題は、これら2つのリスト、「バント」と「ファイル」をどのように比較できるかということです。リストで見つかったバンドが bant1、bant2 であることを出力します。ファイルリスト内の文字列の数は変更可能です (一部のファイルはユーザーによって削除され、ファイルリストに含まれていない可能性があります)。
私の英語でごめんなさい。助けてくれてありがとう