มีการกำหนดฟังก์ชันจำนวนหนึ่งสำหรับการดำเนินการระดับ hgh ในไฟล์และไดเร็กทอรีในโมดูล shutil ของไลบรารีมาตรฐานของ Python
คัดลอก()
ฟังก์ชันนี้คัดลอกไฟล์ไปยังไฟล์ที่ระบุในไดเร็กทอรีเดียวกันหรืออื่น พารามิเตอร์ตัวแรกของฟังก์ชันคือการแสดงสตริงของไฟล์ที่มีอยู่ อาร์กิวเมนต์ที่สองคือชื่อของไฟล์ผลลัพธ์หรือไดเร็กทอรี หากเป็นไดเร็กทอรี ไฟล์จะถูกจัดการด้วยชื่อเดียวกัน ข้อมูลเมตาของไฟล์ต้นฉบับไม่ได้รับการดูแล
>>> import shutil >>> shutil.copy("hello.py","newdir/") 'newdir/hello.py'
copy2()
ฟังก์ชันนี้คล้ายกับฟังก์ชัน copy() เว้นแต่จะเก็บข้อมูลเมตาของไฟล์ต้นฉบับ ตัวอย่างเช่น วันที่แก้ไขคุณสมบัติของไฟล์ที่ได้จะคล้ายกับไฟล์ต้นฉบับ
>>> shutil.copy2('person.py', 'newdir/') 'newdir/person.py'
copyfile()
อาร์กิวเมนต์สตริงสองอาร์กิวเมนต์ของฟังก์ชันนี้แสดงถึงชื่อไฟล์ หมายความว่าไฟล์ต้นฉบับถูกคัดลอกโดยชื่อที่ระบุในไดเร็กทอรีเดียวกัน
>>> shutil.copyfile('start.py', 'end.py') 'end.py'
copyfileobj()
พารามิเตอร์ของฟังก์ชันนี้เป็นออบเจกต์ของไฟล์แทนที่จะเป็นสตริงที่แสดงถึงไฟล์ วัตถุไฟล์ได้มาจากฟังก์ชัน open() ไฟล์ต้นฉบับควรมีสิทธิ์ในการอ่านและไฟล์ที่ได้จะสามารถเปิดได้โดยมีสิทธิ์ในการเขียน
>>> f1=open('hello.py','r') >>> f2=open('python.py','w') >>> shutil.copyfileobj('f1', 'f2') >>> shutil.copyfileobj(f1, f2)
ย้าย()
ฟังก์ชันนี้จะย้ายไฟล์และไดเร็กทอรีซ้ำๆ จากบนไดเร็กทอรีไปยังไดเร็กทอรีอื่น
>>> shutil.move('hello.py', 'newdir/') 'newdir/hello.py'
copytree()
ฟังก์ชันนี้จะคัดลอกไฟล์และไดเร็กทอรีย่อยซ้ำๆ ในไดเร็กทอรีหนึ่งไปยังไดเร็กทอรีอื่น ชื่อของพารามิเตอร์สองตัวต้องเป็นสตริง ไดเรกทอรีของชื่อพารามิเตอร์ที่สองไม่ควรมีอยู่ก่อนหน้านี้ ในการคัดลอกไฟล์แต่ละไฟล์จะมีการใช้ฟังก์ชัน copy2() ภายใน
>>> shutil.copytree('dir1','dir2') 'dir2'
rmtree()
ฟังก์ชันนี้จะลบไฟล์และไดเร็กทอรีย่อยในไดเร็กทอรีที่ระบุ
>>> shutil.rmtree('dir2') >>> shutil.move('hello.py', 'newdir/') 'newdir/hello.py'
disk_usage()
ฟังก์ชันนี้ดึงข้อมูลสถิติการใช้งานของไดเร็กทอรีที่ให้มา
>>> shutil.disk_usage('c:\\python36\\dir1') usage(total=245681352704, used=84932993024, free=160748359680)
อันไหน()
ฟังก์ชันนี้จะคืนค่าพาธไปยังไฟล์สั่งการ
>>> shutil.which('calc') 'C:\\WINDOWS\\system32\\calc.EXE'
make_archive()
ฟังก์ชันนี้สร้างไฟล์เก็บถาวร (zip หรือ tar) ในไดเร็กทอรีราก
>>> root_dir='newdir' >>> shutil.make_archive("newdirarch","zip",root_dir) 'C:\\python36\\newdirarch.zip'
get_archive_formats()
ฟังก์ชันนี้มีรูปแบบไฟล์เก็บถาวรที่รองรับทั้งหมด
>>> shutil.get_archive_formats() [('bztar', "bzip2'ed tar-file"), ('gztar', "gzip'ed tar-file"), ('tar', 'uncompressed tar file'), ('xztar', "xz'ed tar-file"), ('zip', 'ZIP file')]
unpack_archive()
ฟังก์ชันนี้จะแยกไฟล์ในไฟล์เก็บถาวรที่กำหนด พารามิเตอร์ที่สองคือไดเร็กทอรีที่จะแตกไฟล์ หากไม่ได้กำหนดไว้ การแตกไฟล์จะดำเนินการในไดเร็กทอรีปัจจุบัน
>>> shutil.unpack_archive('newdirarch.zip','newdir')