.. availability:: Windows.
+ .. note::
+ Changing the filesystem encoding after Python startup is risky because
+ the old fsencoding or paths encoded by the old fsencoding may be cached
+ somewhere. Use :envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead.
+
.. versionadded:: 3.6
See :pep:`529` for more details.
+ .. deprecated-removed:: 3.13 3.16
+ Use :envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead.
+
.. data:: stdin
stdout
stderr
security and functionality bugs. This includes removal of the ``--cgi``
flag to the ``python -m http.server`` command line in 3.15.
+* :mod:`sys`: :func:`sys._enablelegacywindowsfsencoding` function.
+ Replace it with :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment variable.
+ (Contributed by Inada Naoki in :gh:`73427`.)
+
* :mod:`traceback`:
* The field *exc_type* of :class:`traceback.TracebackException` is
--- /dev/null
+Deprecate :func:`sys._enablelegacywindowsfsencoding`. Use
+:envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead. Patch by Inada Naoki.
sys__enablelegacywindowsfsencoding_impl(PyObject *module)
/*[clinic end generated code: output=f5c3855b45e24fe9 input=2bfa931a20704492]*/
{
+ if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "sys._enablelegacywindowsfsencoding() is deprecated and will be "
+ "removed in Python 3.16. Use PYTHONLEGACYWINDOWSFSENCODING "
+ "instead.", 1))
+ {
+ return NULL;
+ }
if (_PyUnicode_EnableLegacyWindowsFSEncoding() < 0) {
return NULL;
}