0

次のような Python スクリプトを書きたいと思います。

  1. ディレクトリ内のすべてのサブディレクトリを読み取ります (これはループ 1 です)

  2. サブディレクトリ内の現在の画像を読み取ります (画像が 1 つしかないため、ループではありません)。

  3. このイメージを読み取った後、何かを修正して、現在のサブディレクトリ内の新しいイメージに書き込みます。

subprocess.call()これはすべて問題ありませんが、この新しいイメージで実行しようとすると、問題が発生します。

新しい画像 -> subporcess.cal() -> 新しい画像 2

Pythonスクリプトから生成された「新しいイメージ2」を開くとエラーが発生します(ただし、コマンドラインを介して実行しようとした場合、またはサブディレクトリをループせずに実行しようとした場合は機能します)。

上記のコードは次のとおりです。

for dayFolder in listDayFolder:
           output_dataset.GetRasterBand(1).WriteArray(data1) 

        warp = "gdalwarp -t_srs '+proj=longlat +datum=WGS84 +no_defs' -ot Float32 -tps mecrator.tif " + fileName + ".tif";


       pipe = subprocess.call([warp], stdout=subprocess.PIPE, shell=True)
4

1 に答える 1

0

私の推測では、fileName再割り当てされていないという事実に問題があると思います。を呼び出すprint warp前に を呼び出すとsubprocess.call、同じコマンドが何度も繰り返されることに気付くはずです。多分あなたはこれを意味しました:

warp = "gdalwarp -t_srs '+proj=longlat +datum=WGS84 +no_defs' "+
       "-ot Float32 -tps mecrator.tif " + dayFolder + "/" + fileName + ".tif"
于 2013-07-13T05:02:01.117 に答える