One place for hosting & domains

      fichiers

      Comment utiliser SFTP pour transférer des fichiers en toute sécurité avec un serveur distant


      Introduction

      FTP, ou « File Transfer Protocol » (protocole de transfert de fichiers) était une méthode non cryptée populaire utilisée pour transérer des fichiers entre deux systèmes distants.

      SFTP, qui signifie SSH File Transfer Protocol (protocole de transfert de fichiers SSH ou protocole de transfert de fichiers sécurisé) est un protocole distinct intégrant SSH, qui fonctionne de manière similaire mais via une connexion sécurisée. Il présente l’avantage de pouvoir tirer parti d’une connexion sécurisée pour transférer des fichiers et traverser le système de fichiers à la fois sur le système local et sur le système distant.

      Dans la plupart des cas, il est préférable d’utiliser le SFTP au lieu du FTP, en raison de ses fonctionnalités de sécurité sous-jacentes et de sa capacité à se greffer sur une connexion SSH. FTP est un protocole non sécurisé qui ne doit être utilisé que dans certains cas ou sur des réseaux de confiance.

      Bien que le SFTP soit intégré à de nombreux outils graphiques, ce guide vous expliquera de quelle manière l’utiliser via son interface de ligne de commande interactive.

      SFTP utilise le protocole SSH par défaut pour s’authentifier et établir une connexion sécurisée. Pour cette raison, les mêmes méthodes d’authentification que celles présentes dans SSH sont mises à disposition.

      Bien que les mots de passe soient faciles à utiliser et configurés par défaut, nous vous recommandons de créer des clés SSH et de transférer votre clé publique à tous les systèmes auxquels vous devez accéder. Cette méthode est bien plus sécurisée et vous permet de gagner du temps sur le long terme.

      Veuillez vous reporter à ce guide pour configurer des clés SSH et accéder ainsi à votre serveur, si vous ne l’avez pas encore fait.

      Si vous arrivez à vous connecter à la machine en utilisant SSH, cela signifie que vous avez rempli toutes les conditions requises pour gérer les fichiers à l’aide de SFTP. Testez l’accès à SSH à l’aide de la commande suivante :

      • ssh sammy@your_server_ip_or_remote_hostname

      Si cela fonctionne, ressortez en saisissant :

      Désormais, nous pouvons établir une session SFTP en émettant la commande suivante :

      • sftp sammy@your_server_ip_or_remote_hostname

      Votre connexion au système distant sera établie et votre invite se transformera en une invite SFTP.

      Si vous travaillez sur un port SSH personnalisé (et non pas sur le port 22 par défaut), vous pouvez alors ouvrir une session SFTP de la manière suivante  :

      • sftp -oPort=custom_port sammy@your_server_ip_or_remote_hostname

      Ceci établira votre connexion au système distant via le port que vous avez spécifié.

      Obtenir de l'aide dans SFTP

      La commande la plus utile que vous devez apprendre à utiliser en premier est la commande d'aide. Elle vous permet d'accéder à un résumé de l'aide de SFTP. Vous pouvez l'appeler en saisissant l'une ou l'autre des options suivantes dans l'invite :

      ou

      Une liste des commandes disponibles s'affichera :

      Output

      Available commands: bye Quit sftp cd path Change remote directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' df [-hi] [path] Display statistics for current directory or filesystem containing 'path' exit Quit sftp get [-Ppr] remote [local] Download file help Display this help text lcd path Change local directory to 'path' . . .

      Nous allons explorer certaines des commandes que vous allez aborder dans les sections suivantes.

      Un certain nombre de commandes qui fonctionnement de la même manière que leurs homologues shell nous permettent de naviguer dans la hiérarchie de fichiers du système distant.

      Tout d'abord, cherchons à savoir dans quel répertoire du système distant nous nous trouvons actuellement. Tout comme dans une session shell type, nous pouvons saisir ce qui suit pour obtenir le répertoire actuel :

      Output

      Remote working directory: /home/demouser

      Nous pouvons consulter le contenu du répertoire actuel du système distant à l'aide d'une autre commande commune :

      Output

      Summary.txt info.html temp.txt testDirectory

      Notez que les commandes de l'interface SFTP ne sont pas similaires aux commandes shell normales et ne sont pas aussi riches en fonctionnalités. Elles permettent cependant d'implémenter certaines des balises optionnelles les plus importantes :

      Output

      drwxr-xr-x 5 demouser demouser 4096 Aug 13 15:11 . drwxr-xr-x 3 root root 4096 Aug 13 15:02 .. -rw------- 1 demouser demouser 5 Aug 13 15:04 .bash_history -rw-r--r-- 1 demouser demouser 220 Aug 13 15:02 .bash_logout -rw-r--r-- 1 demouser demouser 3486 Aug 13 15:02 .bashrc drwx------ 2 demouser demouser 4096 Aug 13 15:04 .cache -rw-r--r-- 1 demouser demouser 675 Aug 13 15:02 .profile . . .

      Pour accéder à un autre répertoire, nous pouvons lancer la commande suivante :

      Maintenant que nous pouvons traverser le système de fichiers distant, qu'en est-il si nous devons accéder à notre système de fichiers local ? Nous pouvons diriger les commandes vers le système de fichiers local en les faisant précéder d'un l pour local.

      Toutes les commandes abordées jusqu'à maintenant disposent d'équivalents en local. Nous pouvons imprimer le répertoire de travail local :

      Output

      Local working directory: /Users/demouser

      Nous pouvons lister le contenu du répertoire actuel sur la machine locale :

      Output

      Desktop local.txt test.html Documents analysis.rtf zebra.html

      Nous pouvons également changer le répertoire avec lequel nous souhaitons interagir sur le système local :

      Transférer des fichiers avec SFTP

      L'utilité de la navigation dans les systèmes de fichiers distants et locaux reste limitée si nous ne pouvons pas transférer des fichiers entre les deux.

      Transférer des fichiers distants vers le système local

      Pour télécharger des fichiers à partir de notre hébergement local, vous pouvez passer la commande suivante :

      Output

      Fetching /home/demouser/remoteFile to remoteFile /home/demouser/remoteFile 100% 37KB 36.8KB/s 00:01

      Comme vous pouvez le voir, par défaut, la commande get télécharge un fichier distant vers un fichier qui porte le même nom sur le système de fichiers local.

      Nous pouvons copier le fichier distant en utilisant un autre nom, en spécifiant le nom par la suite :

      La commande get prend également en charge quelques balises d'option. Par exemple, nous pouvons copier un répertoire et l'intégralité de son contenu en spécifiant l'option récursive suivante :

      Nous pouvons dire au SFTP de maintenir les autorisations et les temps d'accès appropriés en utilisant la balise -P ou -p :

      Transférer des fichiers locaux vers le système distant

      Il est tout aussi facile de transférer des fichiers vers le système distant en utilisant la commande qui s'appelle, à juste titre, « put » :

      Output

      Uploading localFile to /home/demouser/localFile localFile 100% 7607 7.4KB/s 00:00

      Les mêmes balises que celles qui fonctionnent avec get s'appliquent à put. Donc, si vous souhaitez copier un répertoire local entier, vous pouvez lancer la commande suivante :

      Remarque: il existe actuellement un bogue dans les versions d'OpenSSH intégrant les versions actuelles d'Ubuntu (au moins 14.04 à 15.10), ce qui empêche la commande ci-dessus de fonctionner correctement. Une fois la commande ci-dessus lancée pour transférer le contenu vers un serveur en utilisant la version avec bogue d'OpenSSH, l'erreur suivante apparaîtra : Couldn't canonicalise: No such file or directory (Impossible à canonicaliser : pas de fichier ou de répertoire de ce type).

      Pour résoudre ce problème, créez le répertoire de destination tout d'abord du côté distant en saisissant mkdir localDirectory. Ensuite, la commande ci-dessus devrait s'exécuter sans erreur.

      La commande df est un outil pratique, communément utilisé pour télécharger et envoyer des fichiers. Elle fonctionne de la même manière que la version avec ligne de commande. Grâce à elle, vous pouvez vérifier si vous disposez d'assez d'espace pour procéder aux transferts que vous souhaitez effectuer :

      Output

      Size Used Avail (root) %Capacity 19.9GB 1016MB 17.9GB 18.9GB 4%

      Notez qu'il n'existe pas de variation locale de cette commande, mais nous pouvons contourner cela en émettant la commande ! .

      La commande ! nous amène dans un shell local, où nous pouvons exécuter toute commande disponible sur notre système local. Nous pouvons vérifier l'utilisation du disque en saisissant :

      et puis

      Output

      Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 595Gi 52Gi 544Gi 9% / devfs 181Ki 181Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home

      Toute autre commande locale fonctionnera comme prévu. Pour revenir à votre session SFTP, saisissez :

      Maintenant, vous devriez voir apparaître l'invite SFTP.

      Manipulations simples de fichiers avec SFTP

      SFTP vous permet d'effectuer le type de maintenance de base sur les fichiers qui vous est utile lorsque vous travaillez avec des hiérarchies de fichiers.

      Par exemple, vous pouvez modifier le propriétaire d'un fichier sur le système distant en utilisant :

      À la différence de la commande chmod du système, vous remarquerez que la commande SFTP n'accepte pas les noms d'utilisateur, mais utilise des UID à la place. Malheureusement, il n'existe aucun moyen facile de connaître l'UID correspondant à partir de l'interface SFTP.

      Vous pourriez contourner le problème avec :

      • get /etc/passwd
      • !less passwd

      Output

      root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh . . .

      Notez qu'au lieu d'utiliser la commande ! proprement dite, nous l'avons utilisée comme préfixe pour une commande shell locale. Cette méthode fonctionne pour exécuter toute commande disponible sur notre machine locale, et aurait pu être utilisée avec la commande df locale que nous avons abordée précédemment.

      L'UID se trouvera dans la troisième colonne du fichier, délimitée par des deux-points.

      De la même façon, nous pouvons modifier le propriétaire de groupe d'un fichier en utilisant :

      Encore une fois, il n'existe aucun moyen facile d'obtenir une liste des groupes du système distant. Nous pouvons le faire avec la commande suivante :

      • get /etc/group
      • !less group

      Output

      root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: lp:x:7: . . .

      La troisième colonne contient l'ID du groupe associé au nom de la première colonne. C'est ce que nous voulons.

      Heureusement, la commande chmod fonctionne comme prévu sur le système de fichiers distant :

      Output

      Changing mode on /home/demouser/publicFile

      Il n'existe aucune commande pour manipuler les autorisations des fichiers locaux, mais vous pouvez configurer l'umask local de manière à ce que tous les fichiers copiés sur le système local disposent des autorisations correspondantes.

      Pour cela, vous pouvez utiliser la commande lumask :

      Output

      Local umask: 022

      Maintenant, tous les fichiers réguliers téléchargés (sous réserve que la balise -p ne soit pas utilisée) auront 644 autorisations.

      SFTP vous permet de créer des répertoires sur des systèmes locaux et distants avec lmkdir et mkdir, respectivement. Ces commandes fonctionnent comme prévu.

      Le reste des commandes de fichier cible uniquement le système de fichiers distant :

      Ces commandes répliquent le comportement de base des versions shell. Si vous devez effectuer ces actions sur le système de fichiers local, n'oubliez pas que vous pouvez vous connecter à un shell en lançant la commande suivante :

      Ou exécutez une seule commande sur le système local en faisant précédant la commande d'un ! comme suit :

      Une fois que vous en aurez terminé avec votre session SFTP, utilisez exit ou bye pour mettre fin à la connexion.

      Conclusion

      Bien que SFTP soit un outil simple, il est très utile pour gérer des serveurs et transférer des fichiers entre eux.

      Par exemple, vous pouvez utiliser SFTP pour permettre à certains utilisateurs de transférer des fichiers sans accès SSH. Pour de plus amples informations sur ce processus, veuillez consulter notre tutoriel How To Enable SFTP Without Shell Access (Comment activer le SFTP sans accès au shell).

      Si vous avez l'habitude d'utiliser FTP ou SCP pour effectuer vos transferts, SFTP est un bon compromis pour pouvoir tirer parti des avantages que les deux ont à offrir. Bien qu'il ne soit pas adapté à toute situation, c'est un outil flexible à avoir dans votre répertoire.



      Source link

      Comment utiliser le module pathlib pour manipuler les chemins des systèmes de fichiers en Python 3


      L’auteur a choisi le COVID-19 Relief Fund pour recevoir un don dans le cadre du programme Write for DOnations.

      Introduction

      Python 3 inclut le module pathlib, qui permet de manipuler les chemins des systèmes de fichiers de manière agnostique, quel que soit le système d’exploitation. pathlib est similaire au module os.path, mais pathlib offre un niveau d’interface supérieur — et souvent plus pratique — qu’os.path.

      Nous pouvons identifier des fichiers sur un ordinateur avec des chemin hiérarchiques. Par exemple, nous pourrions identifier le fichier wave.txt sur un ordinateur avec ce chemin : /Users/sammy/ocean/wave.txt. Les systèmes d’exploitation représentent les chemins de manière légèrement différente. Windows peut représenter le chemin d’accès au fichier wave.txt comme ceci, C:Userssammyoceanwave.txt.

      Vous pouvez trouver le module pathlib utile si dans votre programme Python vous créez ou déplacez des fichiers dans le système de fichiers, listez des fichiers sur le système de fichiers qui correspondent tous à une extension ou un modèle donnés, ou créez des chemins de fichiers appropriés du système d’exploitation basés sur des collections de chaînes de caractères. Bien que vous puissiez utiliser d’autres outils (comme le module os.path) pour accomplir plusieurs de ces tâches, le module pathlib vous permet d’effectuer ces opérations avec un degré de lisibilité élevé et une quantité minimale de code.

      Dans ce tutoriel, nous aborderons certaines des façons d’utiliser le module pathlib pour représenter et manipuler les chemins du système de fichiers.

      Conditions préalables

      Pour tirer le meilleur parti de ce tutoriel, il est recommandé d’être familiarisé avec la  programmation en Python 3. Vous pouvez consulter ces tutoriels pour obtenir les informations de base nécessaires :

      Construire des instances Path

      Le module pathlib fournit plusieurs classes, mais l’une des plus importantes est la classe Path. Les instances de la classe Path représentent un chemin d’accès à un fichier ou un répertoire du système de fichiers de notre ordinateur.

      Par exemple, le code suivant instancie une instance Path qui représente une partie du chemin d’accès à un fichier wave.txt :

      from pathlib import Path
      
      wave = Path("ocean", "wave.txt")
      print(wave)
      

      Si nous exécutons ce code, nous obtiendrons le résultat suivant :

      Output

      ocean/wave.txt

      from pathlib import Path rend la classe Path disponible pour notre programme. Ensuite, Path("ocean", "wave.txt") instance une instance nouvelle Path. L’impression de la sortie montre que Python a ajouté le séparateur approprié du système d’exploitation / entre les deux composants de chemin que nous lui avons donné : "ocean"et "wave.txt".

      Remarque : En fonction de votre système d’exploitation, votre résultat peut varier légèrement par rapport aux exemples de sorties présentés dans ce tutoriel. Si vous utilisez Windows, par exemple, votre résultat pour ce premier exemple ressemblera peut-être à oceanwave.txt.

      À présent, l’objet Path assigné à la variable wave contient un chemin relatif. En d’autres termes, ocean/wave.txt pourrait exister à plusieurs emplacements de notre système de fichiers. À titre d’exemple, il peut exister dans /Users/user_1/ocean/wave.txt ou /Users/user_2/research/ocean/wave.txt, mais nous n’avons pas préciséà quel endroit exactement nous faisons référence. Un chemin absolu, en revanche, renvoie sans ambiguïté à un seul emplacement du système de fichiers.

      Vous pouvez utiliser Path.home() pour obtenir le chemin absolu du répertoire d’accueil de l’utilisateur actuel :

      home = Path.home()
      wave_absolute = Path(home, "ocean", "wave.txt")
      print(home)
      print(wave_absolute)
      

      Si nous exécutons ce code, nous obtiendrons en gros le résultat suivant :

      Output

      /Users/sammy /Users/sammy/ocean/wave.txt

      Remarque : Comme mentionné précédemment, votre sortie varie en fonction de votre #système d’exploitation. Votre répertoire d’accueil, bien sûr, sera également différent de /Users/sammy.

      Path.home() renvoie une instance Path avec un chemin absolu vers le répertoire d’accueil de l’utilisateur actuel. Nous passons ensuite dans cette instance Path et les chaînes "ocean" et "wave.txt" dans un autre constructeur Path pour créer un chemin absolu vers le fichier wave.txt. La sortie montre que la première ligne est le répertoire d’accueil, et la deuxième ligne est le répertoire d’accueil plus ocean/wave.txt.

      Cet exemple illustre également une caractéristique importante de la classe Path : le constructeur Path accepte les chaînes et les objets Path préexistants.

      Examinons de plus près le support des chaînes et des objets Path dans le constructeur Path  :

      shark = Path(Path.home(), "ocean", "animals", Path("fish", "shark.txt"))
      print(shark)
      

      Si nous exécutons ce code Python, nous obtiendrons un résultat similaire au suivant :

      Output

      /Users/sammy/ocean/animals/fish/shark.txt

      shark est un Path vers un fichier que nous avons construit en utilisant les objets Path (Path.home() et Path("fish", "shark.txt")) et les chaînes ("ocean" et "animals"). Le constructeur Path traite intelligemment les deux types d’objets et les joint de manière propre en utilisant le séparateur du système d’exploitation approprié, dans ce cas /.

      Accéder aux attributs de fichier

      Maintenant que nous avons appris comment construire des instances Path, examinons comment vous pouvez utiliser ces instances pour accéder aux informations sur un fichier.

      Nous pouvons utiliser les attributs name et suffix pour accéder aux noms de fichier et aux suffixes :

      wave = Path("ocean", "wave.txt")
      print(wave)
      print(wave.name)
      print(wave.suffix)
      

      En exécutant ce code, nous obtiendrons un résultat similaire à ce qui suit :

      Output

      /Users/sammy/ocean/wave.txt wave.txt .txt

      Cette sortie montre que le nom du fichier à la fin de notre chemin est wave.txt et le suffixe de ce fichier est .txt.

      Les instances Path offrent également la fonction with_name, qui permet de créer de manière transparente un nouvel objet Path portant un nom différent :

      wave = Path("ocean", "wave.txt")
      tides = wave.with_name("tides.txt")
      print(wave)
      print(tides)
      

      Si nous exécutons ce code, nous obtiendrons le résultat suivant :

      ocean/wave.txt
      ocean/tides.txt
      

      Le code construit d’abord une instance Path qui pointe vers un fichier nommé wave.txt. Ensuite, nous appelons la méthode with_name sur wave pour renvoyer une seconde instance Path qui pointe vers un nouveau fichier nommé tides.txt. La partie du chemin correspondant au répertoire ocean/ reste inchangée, ce qui fait que le chemin final devient ocean/tides.txt

      Accéder aux ascendants

      Il est parfois utile d’accéder à des répertoires qui contiennent un chemin d’accès donné. Prenons un exemple :

      shark = Path("ocean", "animals", "fish", "shark.txt")
      print(shark)
      print(shark.parent)
      

      Si nous exécutons ce code, nous obtiendrons un résultat qui ressemble au suivant :

      Output

      ocean/animals/fish/shark.txt ocean/animals/fish

      L’attribut parent d’une instance Path renvoie l’ascendant le plus immédiat d’un chemin de fichier donné. Dans ce cas, il renvoie le répertoire qui contient le fichier shark.txt : ocean/animals/fish.

      Nous pouvons accéder à l’attribut parent plusieurs fois de suite pour remonter l’arbre d’ascendance d’un fichier donné :

      shark = Path("ocean", "animals", "fish", "shark.txt")
      print(shark)
      print(shark.parent.parent)
      

      Si nous exécutons ce code, nous obtiendrons le résultat suivant :

      Output

      ocean/animals/fish/shark.txt ocean/animals

      La sortie est similaire à la sortie précédente, mais maintenant nous avons traversé un autre niveau plus élevé en accédant à .parent une seconde fois. Deux répertoires plus haut que shark.txt nous avons le répertoire ocean/animals.

      Utiliser Glob pour lister les fichiers

      Il est également possible d’utiliser la classe Path pour lister les fichiers à l’aide de la méthode glob.

      Supposons que nous avons une structure de répertoire qui ressemblait à ceci :

      └── ocean
          ├── animals
          │   └── fish
          │       └── shark.txt
          ├── tides.txt
          └── wave.txt
      

      Le répertoire ocean contient les fichiers tides.txt et wave.txt. Nous avons un fichier nommé shark.txt imbriqué sous le répertoire ocean, un répertoire animals et un répertoire fish : ocean/animals/fish.

      Pour lister tous les fichiers .txt du répertoire ocean, nous pourrions dire :

      for txt_path in Path("ocean").glob("*.txt"):
          print(txt_path)
      

      Ce code donnerait un résultat du type :

      Output

      ocean/wave.txt ocean/tides.txt

      Le modèle glob "*.txt" trouve tous les fichiers se terminant par .txt. Comme l’exemple de code exécute ce glob dans le répertoire ocean, il renvoie les deux fichiers .txt du répertoire ocean : wave.txt et tides.txt.

      Remarque : Si vous souhaitez dupliquer les sorties indiquées dans cet exemple, vous devrez imiter la structure de répertoire illustrée ici sur votre ordinateur.

      Nous pouvons également utiliser la méthode glob de manière récursive. Pour lister tous les fichiers .txt du répertoire ocean et tous ses sous-répertoires, nous pourrions dire :

      for txt_path in Path("ocean").glob("**/*.txt"):
          print(txt_path)
      

      Si nous exécutons ce code, nous obtiendrions le résultat suivant :

      Output

      ocean/wave.txt ocean/tides.txt ocean/animals/fish/shark.txt

      La partie ** du modèle glob correspondra à ce répertoire et tous les répertoires en dessous, de manière récursive. Donc, non seulement nous avons les fichiers wave.txt et tides.txt dans la sortie, mais nous recevons également le fichier shark.txt qui a été imbriqué sous ocean/animals/fish.

      Calculer les chemin relatifs

      Nous pouvons utiliser la méthode Path.relative_to pour calculer les chemins par rapport aux autres. La méthode relative_to est utile lorsque, par exemple, vous souhaitez récupérer une partie d’un long chemin de fichier.

      Prenons le cas du code suivant :

      shark = Path("ocean", "animals", "fish", "shark.txt")
      below_ocean = shark.relative_to(Path("ocean"))
      below_animals = shark.relative_to(Path("ocean", "animals"))
      print(shark)
      print(below_ocean)
      print(below_animals)
      

      Si nous exécutons ce code, nous obtiendrons le résultat suivant :

      Output

      ocean/animals/fish/shark.txt animals/fish/shark.txt fish/shark.txt

      La méthode relative_to renvoie un nouvel objet Path relatif à l’argument donné. Dans notre exemple, nous calculons le Path d’accès à shark.txt par rapport au répertoire ocean, puis par rapport aux répertoires ocean et animals.

      Si la fonction relative_to ne peut pas calculer de réponse parce que nous lui fournissons un chemin non relié, elle génère une ValueError :

      shark = Path("ocean", "animals", "fish", "shark.txt")
      shark.relative_to(Path("unrelated", "path"))
      

      Nous obtiendrons une exception ValueError qui a été soulevée à partir de ce code et qui ressemblera à quelque chose comme ceci :

      Output

      Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/Python3.8/pathlib.py", line 899, in relative_to raise ValueError("{!r} does not start with {!r}" ValueError: 'ocean/animals/fish/shark.txt' does not start with 'unrelated/path'

      unrelated/path n’est pas une partie de ocean/animals/fish/shark.txt, Python n’a donc aucun moyen pour de calculer un chemin relatif pour nous.

      Conclusion

      Le module pathlib est une partie puissante de la bibliothèque standard Python qui nous permet de manipuler rapidement les chemins du système de fichiers sur n’importe quel système d’exploitation. Dans ce tutoriel, nous avons appris à utiliser certains des utilitaires clés de pathlib pour accéder aux attributs de fichier, lister les fichiers avec des modèles glob, et parcourir les fichiers et les répertoires parents.

      Le module pathlib propose des classes et des utilitaires supplémentaires que nous n’avons pas abordés dans ce tutoriel. Maintenant que vous disposez d’une base de référence, vous pouvez utiliser la documentation du module pathlib pour en savoir plus sur d’autres classes et utilitaires disponibles.

      Si vous souhaitez utiliser d’autres bibliothèques Python, consultez les tutoriels suivants :



      Source link