Skip to content

urllib.parse - quote/unquote documentation issues #133930

Open
@mohmad-null

Description

@mohmad-null

https://docs.python.org/3/library/urllib.parse.html

  1. It's my understanding that the arguement in the displayed usage shows the default. So:
    urllib.parse.quote(string, safe='/', encoding=None, errors=None)
    means that errors defaults to NoneType, however, the documentation just below that says:

"errors defaults to 'strict'

  1. quote: There isn't a list of possible values for the "errors" argument

  2. unquote - There isn't a list of possible values for the "errors" argument

  3. unquote -

errors defaults to 'replace', meaning invalid sequences are replaced by a placeholder character.

What "placeholder character" is it that's used?

  1. unquote

encoding defaults to 'utf-8'. errors defaults to 'replace', meaning invalid sequences are replaced by a placeholder character.

Is a single line. errors should be on a new line (all arguements for all functions really should always be on a new line unless there's a compelling reason not to. To do otherwise significantly impedes readability, while increasing the chances of misunderstanding).

Activity

vadmium

vadmium commented on May 14, 2025

@vadmium
Member

1: The default for quote(errors=. . .) has annoyed me too. My interpretation is that passing errors=None and errors='strict' must be equivalent, it this could be worded better.

2 & 3: For the possible values, the documentation already refers to the str.encode and bytes.decode methods, which in turn both refer to https://docs.python.org/3/library/codecs.html#error-handlers. The possible values of errors depends on which error handlers have been registered at runtime.

4: The placeholder is the Unicode replacement character, also defined in the codecs documentation.

5: For the paragraph about the default encoding and errors values, they are related parameters and I don’t think splitting the paragraph would be beneficial. However, it would be easier to read if each sentence started with a capital letter.

vadmium

vadmium commented on May 14, 2025

@vadmium
Member

Issue #130578 is already open about the confusion of the quote default values (Point 1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation in the Doc dir

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      urllib.parse - quote/unquote documentation issues · Issue #133930 · python/cpython

      Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

      Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant