matinal:python 复制、移动、删除文件及文件夹

2023-10-13 19:32:51 浏览数 (2)

对于文件和文件夹,我们最常做的操作分为三种:复制、移动、删除。

这三种操作可以通过shutil和os模块中的函数实现,下面通过对hello.txt的操作为例进行说明:

代码语言:javascript复制
*复制:shutil.copy(source, destination)   #复制文件
             shutil.copytree(source, destination)   #复制文件夹
*移动:shutil.move(source, destination);
*删除:os.unlink()         #删除文件
            os.rmdir()          #删除文件夹,文件夹必须为空
            shutil.rmtree()   #删除文件夹,包含文件夹及文件夹下的所有文件
hello.txt位于"C:mywebchapter01"目录下:
>>> import shutil, os
 >>> os.chdir(r'C:mywebchapter01')
 >>> os.listdir()
 ['Calculator.php', 'ex1_1.php', 'hello.txt', 'welcome.php', '_notes']
 
一、复制
 1. 复制文件
 #复制hello.txt到"C:mywebchapter02"目录下
 >>> shutil.copy('hello.txt', r'C:mywebchapter02')
 
 'C:\myweb\chapter02\hello.txt'
 
 #复制hello.txt到"C:mywebchapter02"目录并修改名称为hello_01.txt
 >>> shutil.copy('hello.txt', r'C:mywebchapter02hello_01.txt')
 
 'C:\myweb\chapter02\hello_01.txt'
 2. 复制文件夹
 #复制"C:mywebchapter01"到"C:mywebchapter02"目录下
 >>> shutil.copytree(r'C:mywebchapter01', r'C:mywebchapter02chapter01')
 
 'C:\myweb\chapter02\chapter01'
 
 #复制"C:mywebchapter01"到"C:mywebchapter02"目录下并修改名称为chapter01_bak
 >>> shutil.copytree(r'C:mywebchapter01', r'C:mywebchapter02chapter01_bak')
 
 'C:\myweb\chapter02\chapter01_bak'
 二、移动
 1. 移动文件
 #移动hello.txt到"C:mywebchapter02"目录下,并修改名称为hello_02.txt
 >>> shutil.move('hello.txt', r'C:mywebchapter02hello_02.txt')
 
 'C:\myweb\chapter02\hello_02.txt'
 2. 移动文件夹
 #创建test文件夹并将其移动至chapter02文件夹下
 >>> os.mkdir(r'C:mywebchapter01test')
 >>> os.path.isdir(r'C:mywebchapter01test')
 
 True
 >>> shutil.move(r'C:mywebchapter01test', r'C:mywebchapter02test')
 
 'C:\myweb\chapter02\test'
 三、 删除
 1. 删除文件
 #删除文件hello_02.txt
 >>> os.chdir(r'C:mywebchapter02')
 
 >>> os.listdir(os.getcwd())
 
 ['CalculatorII.php', 'chapter01', 'chapter01_bak', 'circleCal.php', 'hello.txt', 'hello_01.txt', 'hello_02.txt', 'Square.php', 'test']
 >>> os.unlink('hello_02.txt')
 
 >>> os.listdir(os.getcwd())
 
 ['CalculatorII.php', 'chapter01', 'chapter01_bak', 'circleCal.php', 'hello.txt', 'hello_01.txt', 'Square.php', 'test']
 2. 删除空文件夹
 #删除空文件夹test
 >>> os.rmdir(r'./test')
 
 >>> os.listdir(os.getcwd())
 
 ['CalculatorII.php', 'chapter01', 'chapter01_bak', 'circleCal.php', 'hello.txt', 'hello_01.txt', 'Square.php']
 3. 删除非空文件夹
 #删除非空文件夹chapter01
 >>> shutil.rmtree(r'C:mywebchapter01')
 
 

0 人点赞