ホームページ  >  記事  >  バックエンド開発  >  Python shutil モジュール学習の概要

Python shutil モジュール学習の概要

高洛峰
高洛峰オリジナル
2017-03-12 10:39:331901ブラウズ

この記事はじめにPython shutil モジュールの学習概要

shutil 名前はシェル ユーティリティに由来しています。Linux を勉強したことがある、または理解している人は、これを使用してシェルの名前を覚えることができます。モジュール。このモジュールには、コピー、移動、名前変更、削除など、多くのファイル(フォルダー)操作関数があります。関数では、ソース ファイルを宛先フォルダーにコピーします。両方のパラメーターは

string
    形式です。宛先がファイル名の場合、それがコピーされたファイル名として使用されます。これは、コピー + 名前の変更と同じです。例:
  1. >> import shutil>> os.chdir
    ('C:')>> , 'C:delicious')'C:deliciousspam.txt'>> shutil.copy('eggs.txt', 'C:deliciouseggs2.txt')'C:deliciouseggs2.txt'

    のようにコード 示されているように、この

    関数の戻り値
    は、コピーが成功した後の文字列形式のファイル パスです

    shutil.copytree(source, destination)
    shutil.copytree() 関数は、フォルダー全体をコピーして、ソース フォルダー ソース内のファイルやサブフォルダーを含むすべての内容がコピー先にコピーされます。どちらのパラメータも文字列形式です。

    宛先フォルダーが既に存在する場合、この操作はファイルが既に存在することを示す

    File

    ExistsError エラーを返すことに注意してください。つまり、この関数が実行されると、プログラムは自動的に新しいフォルダー (宛先パラメーター) を作成し、ソースフォルダーの内容をそこにコピーします例:

  2. >> import shutil

    > > os をインポートします
    >> os.chdir('C:')

    >> shutil.copytree('C:bacon', 'C:bacon_backup')

    'C:bacon_backup'
    shutil.move(source, destination)

    shutil.move() 関数は、ソースファイルまたはフォルダーを宛先に移動します。戻り値は移動したファイルの絶対パス文字列です。
  3. 宛先がフォルダーを指している場合、ソースファイルは元の名前を維持したまま宛先に移動されます。例:



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

如以上代码所示,该函数的返回值是复制成功后的文件夹的绝对路径字符串
所以该函数可以当成是一个备份功能
>> ; shutil.move('C:bacon.txt', 'C:eggs
    new
  1. _bacon.txt')

    'C:eggsnew_bacon.txt'
    >> ' , 'C:eggs')
    'C:eggs'

    上例中,如果 C:\eggs 文件夹中已经存在了同名文件 bacon.txt,那么该文件将被来自于 source 中的同名文件所重写。
    
    如果 destination 指向一个文件,那么 source 文件将被移动并重命名,如下:
  2. >> shutil.move('spam.txt', 'C:does_not_existeggsham')
トレースバック (最新の c

all
last):
ファイル「D:Python36libshutil.py」、538 行目、move

os.rename(src, real_dst)

FileNotFoundError: [WinError 3] システムは指定されたパスを見つけることができません。 : 'test.txt' -> 'C:does_not_existeggsham' ファイルとフォルダーを削除しますOSモジュールの関連関数は次のとおりですos.unlink(path)はパスファイルを削除します
os.rmdir(path)はパスを削除しますフォルダーですが、このフォルダーは空である必要があり、ファイルやサブフォルダーが含まれていません

shutil.rmtree(path) はパス パス フォルダーを削除し、このフォルダー内のすべてのファイルとサブフォルダーが削除されます


この関数を使用すると、削除操作を実行する場合は、特に注意してください。txt ファイルを削除して誤って rxt に書き込むと、問題が発生する可能性があります。このとき、文字列の
endswith 属性を使用できます。ファイル形式を確認してフィルタリングします

以上がPython shutil モジュール学習の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。