web-dev-qa-db-ja.com

「from __future__ import braces」コードはどこにありますか?

私はコマンドで実行されたコードが正確に何であるか疑問に思っていました:

>>> from __future__ import braces
SyntaxError: not a chance

だから、pythonはオープンソースなので、C:\Python27\Lib\__future__.pyと見た。驚いたことに、bracesモジュールのインポートを処理するものは何も見つかりませんでした。

だから、私の質問は、これを処理するコードはどこですか?そのコマンドを実行するとどうなりますか?

54
Elisha

コードは future.c にあります:

future_check_features(PyFutureFeatures *ff, stmt_ty s, const char *filename)
...
  else if (strcmp(feature, "braces") == 0) {
    PyErr_SetString(PyExc_SyntaxError,
        "not a chance");
    PyErr_SyntaxLocation(filename, s->lineno);
    return 0;
  }
65
Peter de Rivaz