IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Recherche dans la documentation python [Python 3.X]


Sujet :

Python

  1. #1
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 150
    Points : 94
    Points
    94
    Par défaut Recherche dans la documentation python
    Bonjour à tous,

    Je me rends compte que depuis quelques temps j'effectue pas mal de recherches sur internet, mais pratiquement plus jamais dans la documentation officielle. La raison en est simple, je ne parviens que très rarement à y trouver ce que je cherche. J'ai pourtant pas mal insisté, mais je ne comprends pas comment elle est organisée.

    Pour exemple, si je cherche à approfondir mes connaissances sur les deux méthodes (fonctions) suivantes :
    read() et readline()
    Je ne sais absolument pas comment m'y prendre pour les trouver dans la documentation.
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Pour exemple, si je cherche à approfondir mes connaissances sur les deux méthodes (fonctions) suivantes : Je ne sais absolument pas comment m'y prendre pour les trouver dans la documentation.
    Ce qui est bien avec une documentation, c'est que c'est organisé en une hiérarchie de documents, chapitres, ... et on y trouve des index (pour savoir où ça parle de readline par exemple).

    Bien sûr, plus elle est touffue plus ça va demander du temps à comprendre comment elle est organisée. D'où l'intérêt des moteur de recherche à qui on peut demander "python3 documentation readline" pour que ça sorter le chapitre qui va bien.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par scalpel Voir le message
    Pour exemple, si je cherche à approfondir mes connaissances sur les deux méthodes (fonctions) suivantes : Je ne sais absolument pas comment m'y prendre pour les trouver dans la documentation.
    Ben déjà si tu parles de méthodes, il te faut alors préciser de quel objet elles sont issues. Ok il est clair pour tout le monde que tu parles de fichier mais pas pour la doc (beaucoup d'objets possèdent une méthode "read()" ou "readline()").

    Ensuite, il faut savoir comment Python définit un fichier. Là ça demande effectivement un peu d'expérience car les fichiers se divisent en 2 catégories (les fichiers textes et les binaires) et donc Python offre un module "io.IOBase" qui englobe les deux notions. Mais cette expérience arrive plutôt assez vite. Au pire, tu regardes type(open("fichierTruc", "r")) ce qui te renvoie <class '_io.TextIOWrapper'> et ensuite tu cherches "TextIOWrapper" et tu retrouves rapidement "io.IOBase".

    Et donc une fois ceci précisé, la recherche en devient facilitée...
    Nom : Screenshot 2024-03-28 at 13-29-36 3.12.2 Documentation.png
Affichages : 77
Taille : 134,8 Ko

    Nom : Screenshot 2024-03-28 at 13-53-42 Recherche — Documentation Python 3.12.2.png
Affichages : 77
Taille : 116,0 Ko
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 150
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    ...D'où l'intérêt des moteur de recherche à qui on peut demander "python3 documentation readline" pour que ça sorter le chapitre qui va bien...
    C'est la méthode que j'utilise et qui me permet en général de trouver, mais presque toujours dans un tutoriel (comme dans ton exemple), jamais dans les chapitres du manuel de référence.

    Citation Envoyé par Sve@r Voir le message
    ... Python offre un module "io.IOBase" qui englobe les deux notions. Mais cette expérience arrive plutôt assez vite. Au pire, tu regardes type(open("fichierTruc", "r")) ce qui te renvoie <class '_io.TextIOWrapper'> et ensuite tu cherches "TextIOWrapper" et tu retrouves rapidement "io.IOBase".
    Je pense avoir compris ce que tu m'explique, mais effectivement il me manque encore de l'expérience pour affiner la recherche.
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    Citation Envoyé par scalpel Voir le message
    mais presque toujours dans un tutoriel
    bizarre, perso je tombe toujours sur la doc dans les 3 premiers liens
    Mon moteur affiche toujours "Pyhon Docs" et le logo python officiel, donc facile d'aller directement dans le bon site
    $moi= ( !== ) ? : ;

  6. #6
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 150
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par papajoker Voir le message
    bizarre, perso je tombe toujours sur la doc dans les 3 premiers liens
    Mon moteur affiche toujours "Pyhon Docs" et le logo python officiel, donc facile d'aller directement dans le bon site
    Chez moi également, la première ligne me dirige sur un tutoriel (officiel), mais les deux autres lignes me dirigent vers la libraire et il n'y a aucune infos sur la méthode read() de l'objet fichier.
    Mais au vue des explications données par Sve@r, je comprends mieux pourquoi.
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Lisez cette page du tutoriel officiel. Les deux premières lignes du chapitre "Lecture et écriture de fichiers" ont un lien hypertext associé à "open" (fonction native) et un autre sur "objet fichier" qui renvoie sur un glossaire mentionnant que l'interface est décrite dans le module io.

    Ce qui donne un peu de contexte aux recherches plutôt larges que vous avez lancé avec des pistes à suivre.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Bonjour,
    En passant, tu peux aussi consulter l'aide disponible dans ton interprétateur python avec help() (et ceci sans être connecté à internet )
    Pour une aide sur open() :
    >>>help(open)
    Help on built-in function open in module io:

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
    Open file and return a stream. Raise OSError upon failure.

    file is either a text or byte string giving the name (and the path
    if the file isn't in the current working directory) of the file to
    be opened or an integer file descriptor of the file to be
    wrapped. (If a file descriptor is given, it is closed when the
    returned I/O object is closed, unless closefd is set to False.)

    mode is an optional string that specifies the mode in which the file
    is opened. It defaults to 'r' which means open for reading in text
    mode. Other common values are 'w' for writing (truncating the file if
    it already exists), 'x' for creating and writing to a new file, and
    'a' for appending (which on some Unix systems, means that all writes
    append to the end of the file regardless of the current seek position).
    In text mode, if encoding is not specified the encoding used is platform
    dependent: locale.getencoding() is called to get the current locale encoding.
    (For reading and writing raw bytes use binary mode and leave encoding
    unspecified.) The available modes are:

    ========= ===============================================================
    Character Meaning
    --------- ---------------------------------------------------------------
    'r' open for reading (default)
    'w' open for writing, truncating the file first
    'x' create a new file and open it for writing
    'a' open for writing, appending to the end of the file if it exists
    'b' binary mode
    't' text mode (default)
    '+' open a disk file for updating (reading and writing)
    ========= ===============================================================

    The default mode is 'rt' (open for reading text). For binary random
    access, the mode 'w+b' opens and truncates the file to 0 bytes, while
    'r+b' opens the file without truncation. The 'x' mode implies 'w' and
    raises an `FileExistsError` if the file already exists.

    Python distinguishes between files opened in binary and text modes,
    even when the underlying operating system doesn't. Files opened in
    binary mode (appending 'b' to the mode argument) return contents as
    bytes objects without any decoding. In text mode (the default, or when
    't' is appended to the mode argument), the contents of the file are
    returned as strings, the bytes having been first decoded using a
    platform-dependent encoding or using the specified encoding if given.

    buffering is an optional integer used to set the buffering policy.
    Pass 0 to switch buffering off (only allowed in binary mode), 1 to select
    line buffering (only usable in text mode), and an integer > 1 to indicate
    the size of a fixed-size chunk buffer. When no buffering argument is
    given, the default buffering policy works as follows:

    * Binary files are buffered in fixed-size chunks; the size of the buffer
    is chosen using a heuristic trying to determine the underlying device's
    "block size" and falling back on `io.DEFAULT_BUFFER_SIZE`.
    On many systems, the buffer will typically be 4096 or 8192 bytes long.

    * "Interactive" text files (files for which isatty() returns True)
    use line buffering. Other text files use the policy described above
    for binary files.

    encoding is the name of the encoding used to decode or encode the
    file. This should only be used in text mode. The default encoding is
    platform dependent, but any encoding supported by Python can be
    passed. See the codecs module for the list of supported encodings.

    errors is an optional string that specifies how encoding errors are to
    be handled---this argument should not be used in binary mode. Pass
    'strict' to raise a ValueError exception if there is an encoding error
    (the default of None has the same effect), or pass 'ignore' to ignore
    errors. (Note that ignoring encoding errors can lead to data loss.)
    See the documentation for codecs.register or run 'help(codecs.Codec)'
    for a list of the permitted encoding error strings.

    newline controls how universal newlines works (it only applies to text
    mode). It can be None, '', '\n', '\r', and '\r\n'. It works as
    follows:

    * On input, if newline is None, universal newlines mode is
    enabled. Lines in the input can end in '\n', '\r', or '\r\n', and
    these are translated into '\n' before being returned to the
    caller. If it is '', universal newline mode is enabled, but line
    endings are returned to the caller untranslated. If it has any of
    the other legal values, input lines are only terminated by the given
    string, and the line ending is returned to the caller untranslated.

    * On output, if newline is None, any '\n' characters written are
    translated to the system default line separator, os.linesep. If
    newline is '' or '\n', no translation takes place. If newline is any
    of the other legal values, any '\n' characters written are translated
    to the given string.

    If closefd is False, the underlying file descriptor will be kept open
    when the file is closed. This does not work when a file name is given
    and must be True in that case.

    A custom opener can be used by passing a callable as *opener*. The
    underlying file descriptor for the file object is then obtained by
    calling *opener* with (*file*, *flags*). *opener* must return an open
    file descriptor (passing os.open as *opener* results in functionality
    similar to passing None).

    open() returns a file object whose type depends on the mode, and
    through which the standard file operations such as reading and writing
    are performed. When open() is used to open a file in a text mode ('w',
    'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open
    a file in a binary mode, the returned class varies: in read binary
    mode, it returns a BufferedReader; in write binary and append binary
    modes, it returns a BufferedWriter, and in read/write mode, it returns
    a BufferedRandom.

    It is also possible to use a string or bytearray as a file for both
    reading and writing. For strings StringIO can be used like a file
    opened in a text mode, and for bytes a BytesIO can be used like a file
    opened in a binary mode.
    Pour obtenir une aide sur une méthode comme read(), il faut en faire la demande dans son contexte:
    >>> with open("montxt.txt", "r") as fichier:
    ... help(fichier.read)
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  9. #9
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 150
    Points : 94
    Points
    94
    Par défaut
    C'est le top !

    Je suis un véritable boulet, je n'y avais absolument pas pensé

    Pourtant il me l'indique à chaque sollicitations.
    Nom : Capture d'écran 2024-03-28 160126.png
Affichages : 60
Taille : 16,4 Ko
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  10. #10
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 104
    Points : 4 454
    Points
    4 454
    Par défaut
    D'après ta copie écran, tu es avec vscode ? Tu peux aussi avoir cette même aide simplement en plaçant la souris au dessus de la méthode

    Note: python ne fait qu'afficher les commentaires qui sont dans le code source
    $moi= ( !== ) ? : ;

  11. #11
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 150
    Points : 94
    Points
    94
    Par défaut
    3 mois d'utilisation sans m'en apercevoir

    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Je suis un véritable boulet, je n'y avais absolument pas pensé
    oui mais ce chemin là ne donne pas les mêmes résultats.

    Il est utile pour se re-mémoriser ce que fait la fonction ou les paramètres à passer.

    Lorsqu'on prend le temps de chercher dans la documentation, on va (souvent) découvrir des tas d'autres choses "en chemin" qui n'ont rien à voir et qui pourront servir plus tard ou ou découvrir une autre façon de poser le problème qui a motivé cette recherche.

    Sûr qua lorsqu'on est à la bourre sur un projet, on va éviter, se contenter du help ou ré-écrire vite fait des fonctions qui existent déjà mais qu'on n'a pas envie de perdre le temps de chercher.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre régulier Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 150
    Points : 94
    Points
    94
    Par défaut
    Effectivement, j'apprends énormément en cherchant des solutions sur internet. Mais c'est tout de même intéressant pour un débutant comme moi quand on bute sur un problème de syntaxe.
    Débutant en janvier 2024 l'apprentissage d'un langage de programmation et n'étant pas particulièrement doué, soyez indulgents.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 31/12/2010, 14h11
  2. Recherche dans un document Word
    Par wizlord dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/09/2008, 20h44
  3. [Word] Recherche dans un document
    Par Chikh001 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 07/05/2008, 15h21
  4. Recherche dans un document PDF à partir d'Access
    Par Bes74 dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/01/2008, 17h37
  5. recherche dans un document xml via DOM
    Par ndoye_zaff dans le forum APIs
    Réponses: 5
    Dernier message: 11/06/2003, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo