跳转到主要内容

Pending removal in Python 3.19

  • builtins:
    • Passing a complex number as the real or imag argument in the complex constructor is now deprecated; it should only be passed as a single positional argument. (Contributed by Serhiy Storchaka in 109218.)
  • ctypes:
    • Implicitly switching to the MSVC-compatible struct layout by setting ~ctypes.Structure._pack_ but not ~ctypes.Structure._layout_ on non-Windows platforms.
  • hashlib:
    • In hash function constructors such as ~hashlib.new or the direct hash-named constructors such as ~hashlib.md5 and ~hashlib.sha256, their optional initial data parameter could also be passed a keyword argument named data= or string= in various !hashlib implementations.

      Support for the string keyword argument name is now deprecated and slated for removal in Python 3.19.

      Before Python 3.13, the string keyword parameter was not correctly supported depending on the backend implementation of hash functions. Prefer passing the initial data as a positional argument for maximum backwards compatibility.

  • http.cookies:
    • http.cookies.Morsel.js_output is deprecated and will be removed in Python 3.19.
    • http.cookies.BaseCookie.js_output is deprecated and will be removed in Python 3.19.
  • imaplib:
    • Altering IMAP4.file <imaplib.IMAP4.file> is now deprecated and slated for removal in Python 3.19. This property is now unused and changing its value does not automatically close the current file.

      Before Python 3.14, this property was used to implement the corresponding read() and readline() methods for ~imaplib.IMAP4 but this is no longer the case since then.

  • tkinter:
    • tkinter.filedialog.askopenfiles has been deprecated since Python 3.16. Iterate over the names returned by ~tkinter.filedialog.askopenfilenames and open them one by one instead. (Contributed by Serhiy Storchaka in 152638.)