
空白の引数は、VS Code などでもシェルレベルで取り除かれてしまうことがあります。
python .\実行ファイル.py ""
import sys def test(): print("len = " + len(sys.argv)) # 1 # テスト実行 test()
argv[0] は "実行ファイル.py" の部分が入るので "" が省略されています。
対策
stop-parsing token --% を追加することで空白の引数を受け取ることができます。
python --% .\実行ファイル.py ""
補足として "None" を引数から渡すことができないはずです。この場合はコード中で変換するとよいと思います。
if arg == "None": arg = None