Resolve TypeError: 'NoneType' object has no attribute '__getitem__'.
2022-02-18 20:57:14
実はこの問題は、変数が空、つまり「NoneType」型であることが原因であることが多く、おおよそこのような方向性で解決することができます。最近、画像の問題を扱ったときに書いたコードは、あるパスの下にある画像を見つけてメモリに読み込み、4つの座標値 x1, y1; x2, y2 に基づいて画像のROIをスナップするというものでした。
# traversal
for every_capture_image_dict in content_dict["captures"]:
capture_pic_name = every_capture_image_dict["big_image"]
# Read the image
img = cv2.imread('. /Export/' + Sub_Files + '/' + Same_Person_file + '/'
+ capture_pic_name)
crop_image = img[int(every_capture_image_dict["position"]["top"]):
int(every_capture_image_dict["position"]["bottom"]),
int(every_capture_image_dict["position"]["left"]):
int(every_capture_image_dict["position"]["right"])]
cv2.imwrite('1/' + Same_Person_file + '/' + capture_pic_name, crop_image)
エラーを報告しながら実行します。 TypeError: 'NoneType' オブジェクトには '__getitem__' という属性がありません。 位置づけられたコードの行は
int(every_capture_image_dict["position"]["right"])]
エラーメッセージによると、よく考えたらNULL変数が原因だと推測され、このコードで最も可能性が高いNULL変数はimgで、全部入っているのにNULL値になっています。弟の知恵のおかげで、事前にプリントダウンするパス、それから私は画像のパスの下に報告された対応するエラーを見つけ、それは画像の下のこのパスに問題があることは事実であり、証拠のための上記の画像は
サポートされていない形式の画像があったので、以下のようなコードに決定的に変更された。
# traversal
for every_capture_image_dict in content_dict["captures"]:
capture_pic_name = every_capture_image_dict["big_image"]
# Read the image
img = cv2.imread('. /Export/' + Sub_Files + '/' + Same_Person_file + '/'
+ capture_pic_name)
if img is None:
continue
else:
crop_image = img[int(every_capture_image_dict["position"]["top"]):
int(every_capture_image_dict["position"]["bottom"]),
int(every_capture_image_dict["position"]["left"]):
int(every_capture_image_dict["position"]["right"])]
cv2.imwrite('1/' + Same_Person_file + '/' + capture_pic_name, crop_image)
もう一度プログラムを実行すると、見事に合格!!!!
プログラムのデバッグは我慢するものです。
関連
-
[解決済み】 Regex: AttributeError: 'NoneType' オブジェクトには 'groups' という属性がありません。
-
[解決済み】AWS : 設定プロファイル(MyName)が見つかりませんでした。
-
[解決済み】Pythonで2つの文字列をXORする方法
-
sklearn インターフェースがエラーを報告する Input contains NaN, infinity or value too large for dtype('float64')
-
[python np.where] - error:raise ValueError(ValueError: Length of values does not match length of index) エラー。
-
Pythonのインターフェースベースのプログラミングアプローチによる実装方法
-
[解決済み] サポートされていないオペランド型(複数可): 'int' および 'str' [重複].
-
[解決済み] pyファイルのコンパイル時にutilsという名前のモジュールがないエラーが発生する
-
[解決済み] PyCharm Community Editionでマウスの右クリックコンテキストメニューからDjangoアプリケーションのUnitTestsを実行/デバッグしますか?
-
Pythonの始め方?Pythonチュートリアル(とても詳しい)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 入出力と高次代入の基礎知識
-
[解決済み】Python Django。STATIC_ROOT 設定をせずに staticfiles アプリを使用している
-
[解決済み】TypeError: Unicodeへの強制: 文字列またはバッファが必要、intが見つかりました。
-
[解決済み] numpy.correlateを使って自己相関をするにはどうしたらいいですか?
-
[解決済み] Pythonでテキストファイルを連結する方法は?
-
[解決済み] ModuleNotFoundError: python 3.9 には 'scipy' という名前のモジュールはありません。
-
[解決済み] pkg_resources という名前のモジュールがない
-
flask という名前のモジュールがない エラー解決
-
[python][scrapy] 型 'bytes' のオブジェクトは JSON シリアライズ可能ではない
-
python エラー。TypeError: 'module' オブジェクトは呼び出し可能ではありません Solution