[解決済み] Pythonです。AttributeError: 'NoneType' オブジェクトには 'startswith' 属性がありません。
2022-02-04 21:47:53
質問
なぜこのコードは動作せず、AttributeErrorが発生するのでしょうか?
internship = parser.find_all('a', attrs = {'title': lambda job: job.startswith('Internship')})
が、こちらは動作します。
internship = parser.find_all('a', attrs = {'title': lambda job: job and job.startswith('Internship')})
これは、最初のコードで出たエラーです。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\bs4\element.py", line 1299, in find_all
return self._find_all(name, attrs, text, limit, generator, **kwargs)
File "C:\Python27\lib\site-packages\bs4\element.py", line 549, in _find_all
found = strainer.search(i)
File "C:\Python27\lib\site-packages\bs4\element.py", line 1690, in search
found = self.search_tag(markup)
File "C:\Python27\lib\site-packages\bs4\element.py", line 1662, in search_tag
if not self._matches(attr_value, match_against):
File "C:\Python27\lib\site-packages\bs4\element.py", line 1722, in _matches
return match_against(markup)
File "<stdin>", line 1, in <lambda>
AttributeError: 'NoneType' object has no attribute 'startswith'
解決方法は?
1行目のコードで、属性エラーが発生しているのは、このコードが
job
は文字列を含んでおり、その文字列はメソッド
startswith()
を含むが、文字列を含まない。
None
.
2行目のコードでは、属性エラーは発生しません。
job
には
None
を呼び出す前に
startswith()
を追加しました。もう一つの(全く同等ではないが、間違いなくより良い)表現方法として
lambda job: job and job.startswith('Internship')
は
lambda job: job.startswith('Internship') if job else False
関連
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】AttributeError: 'module'オブジェクトには属性がありません。
-
[解決済み] PyCharmは "PEP8: expected 2 blank lines, found 1" と表示する。
-
[解決済み] airflow Webサーバを再起動するにはどうすればよいですか?
-
[解決済み] インポートエラー; Quandlという名前のモジュールがない
-
[解決済み] 異種混在のnumpy配列への追加時に `TypeError: invalid type promotion` が発生する。
-
[解決済み] pandasの系列をnumpyの配列に変換する[重複]。
-
[解決済み] リスト内包からのPython文字列
-
[解決済み] AttributeError: 'NoneType' オブジェクトには 'something' という属性がありません」と表示されるのはなぜですか?
-
[解決済み】Pythonのエラー: ファイル "<stdin>"
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ImportError: xlsxwriter という名前のモジュールがありません。
-
[解決済み] 同じファイル名が既に存在する場合、移動して置き換えるか?
-
[解決済み] cv2.createbackgroundsubtractormog2() のパラメータについて説明します.
-
[解決済み] matplotlibのカラーバーのフォントサイズを変更する
-
[解決済み] airflow Webサーバを再起動するにはどうすればよいですか?
-
[解決済み] インポートエラー; Quandlという名前のモジュールがない
-
[解決済み] matplotlibで科学的記法を制御するには?
-
[解決済み] pandasの系列をnumpyの配列に変換する[重複]。
-
[解決済み] リスト内包からのPython文字列
-
[解決済み] Pip install - Python 2.7 - Windows 7