Maison  >  Article  >  développement back-end  >  Résumé de l'apprentissage du module Python Shul

Résumé de l'apprentissage du module Python Shul

高洛峰
高洛峰original
2017-03-12 10:39:331874parcourir

Cet articleIntroductionPythonapprentissage du module ShutilRésumé

le nom de Shutil vient des utilitaires Shell, si vous l'avez étudié ou comprisLinux les gens doivent être familiers avec le shell, et vous pouvez l'utiliser pour mémoriser le nom du module. Ce module possède de nombreuses fonctions d'exploitation de fichiers (dossiers), notamment copier, déplacer, renommer, supprimer, etc.

  1. chutil.copie ( source, destination)
    shutil.copy() Function implémente la fonction de copie de fichier et copie le fichier source dans le dossier de destination. Les deux paramètres sont au format string. Si la destination est un nom de fichier, il sera utilisé comme nom de fichier copié, ce qui équivaut à copier et renommer. Par exemple :

    >> importer Shutil
    >> importer os
    >> ;> close :deliciouseggs2.txt')'C:deliciouseggs2.txt'
    Comme indiqué dans le code, la valeur de retour de la fonction

    est le chemin du fichier au format chaîne après une copie réussie

    shutil.copytree(source, destination)la fonction shutil.copytree() copie l'intégralité du dossier, copiant tout le contenu du dossier source vers la destination, y compris le contenu de la source Les fichiers et sous-dossiers seront copiés. Les deux paramètres sont au format chaîne.

  2. Notez que si le dossier de destination existe déjà, cette opération renverra une erreur
  3. File

    ExistsError, indiquant que le fichier existe déjà. C'est-à-dire que si cette fonction est exécutée, le programme créera automatiquement un nouveau dossier (paramètre de destination) et y copiera le contenu du dossier source
    Par exemple :

    > ;> importer fermer
    >> importer os

    >> os.chdir('C:')
  4. >> : bacon_backup')
'C:bacon_backup'





shutil.move(source, destination)

shutil.move() la fonction déplacera le fichier source ou dossier Déplacer vers la destination. La valeur de retour est la chaîne de chemin absolu du fichier déplacé.
如以上代码所示,该函数的返回值是复制成功后的文件夹的绝对路径字符串
所以该函数可以当成是一个备份功能
Si la destination pointe vers un dossier, le fichier source sera déplacé vers la destination et conservera son nom d'origine. Par exemple :

  1. >> import Shutil
    >> Shutil.move('C:bacon.txt', 'C:eggs')

    ' C :eggsbacon.txt'

>>shutil.move('C:bacon.txt', 'C:eggs
nouveau
_bacon.txt')

'C:eggsnew_bacon.txt'
上例中,如果 C:\eggs 文件夹中已经存在了同名文件 bacon.txt,那么该文件将被来自于 source 中的同名文件所重写。

如果 destination 指向一个文件,那么 source 文件将被移动并重命名,如下:

>>shutil.move('C:bacon.txt', 'C:eggs')'C:eggs'

等于是移动+重命名

<b>注意,如果 destination 是一个文件夹,即没有带后缀的路径名,那么 source 将被移动并重命名为 destination</b>,如下:
>>shutil.move('spam.txt', 'C:does_not_existeggsham')

Traceback (le plus récent c
tous

dernier):
即 bacon.txt 文件已经被重命名为 eggs,是一个没有文件后缀的文件

最后,destination 文件夹必须是已经存在的,否则会引发异常:
Fichier "D : Python36libshutil .py", ligne 538, dans move

os.rename(src, real_dst)
FileNotFoundError : [WinError 3] Le système ne trouve pas le chemin spécifié. : 'test.txt' -> 'C:does_not_existeggsham'Lors de la gestiondl
de l'
exception
ci-dessus, une autre exception s'est produite :
Traceback (appel le plus récent last):Fichier "
Supprimer définitivement les fichiers et les dossiers
Voici les fonctions associées dans le module os

os.unlink(path) supprimera le chemin du fichier
    os.rmdir(path) supprimera le dossier chemin, mais ce dossier doit être vide et ne contenir aucun fichier ou sous-dossier
  1. shutil.rmtree(path) supprimera le dossier chemin, ainsi que tous les fichiers et sous-dossiers qu'il contient le dossier sera supprimé




    Lorsque vous utilisez des fonctions pour effectuer des opérations de suppression, vous devez être très prudent, car si vous souhaitez supprimer un fichier txt, et si vous écrivez accidentellement rxt, vous apporterez vous-même des problèmes
    À ce moment, nous pouvons utiliser le

    end
  2. swith
attribut

de la chaîne pour vérifier et filtrer le format de fichier

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Spécifications du code PythonArticle suivant:Spécifications du code Python