Pythonで文字列の足し算をしようとすると波線が引かれる
auです。
VSCodeでPythonを使っています。
そこでは、環境変数を代入した文字列同士を足し算していたのですが、ずっと赤い波線が引かれていたので気になっていました。実行しても(一応)なんともなく動きます。
なんでかなーと思ったのですが、自分なりに理解したのでメモしておこうと思います。
コードと波線の内容
folder_path = getenv('OUTPUT_FOLDER_PATH') file_name = getenv('FILE_NAME') path = folder_path + file_name # ここで波線が引かれている
(variable) path: str | None Operator "+" not supported for types "str" and "str | None" Operator "+" not supported for types "str" and "None"Pylance (reportGeneralTypeIssues)
エラーの内容としては、strとNoneの足し算に対応してないよという感じです。
具体的には、strとNoneの可能性があるからよろしくないということだと思います。違っていたら指摘してください。
解決法
解決法は、strにキャストしてあげれば大丈夫です。
path = str(folder_path) + str(file_name)
これでstr型でくることが約束されているので、文字列同士の足し算が可能です。stringモジュールとか使った方が適切なのかもしれないです。
ちなみにNoneが返ってくると、「NoneFILENAME」のようになるのですごく気持ち悪くなります。Noneがそのまま文字列として使われるようです。