主要讲解怎么把某一路径下的文件自动的放到对应类型文件夹里
【基础讲解】
1、先确定我们这些文件有多少种类型;然后 需要创建这些文件夹;
2、遍历过程中如果没有的话,先创建这个文件夹
files = os.listdir(path)
for f in files:
folder_name = './' + f.split('.')[-1]
if not os.path.exists(folder_name):
os.makedirs(folder_name)
shutil.move(f,folder_name)
else:
shutil.move(f,folder_name)
1、os.listdir(路径名 )
2、os.makedir(name),
3、shutil.move(file_name,folder_name)
4、os.exists(folder_name)一个布尔型函数,看这个路径是否存在
【联系题目与代码示意】
—现有多个文件夹,分别是ppt,md,doc,docx,jpg,png,gif,这写文件夹中放着一些文件,把ppt,md,doc,docx中的文件都放在心文件夹document中,然后把jpg,png,gif中的文件都放进image中。最后把初始的七个文件夹删除。
path = './problem2_files’
os.makedirs(path + '/image')
os.makedirs(path + '/document')
image_suffix = ['jpg', 'png', 'gif']
doc_suffix = ['doc', 'docx', 'ppt', 'md']
for i in image_suffix:
cur_path = path + '/' + i
files = os.listdir(cur_path)
for f in files:
shutil.move(cur_path + '/' + f, path + '/image’)#第一个参数是path+'/'+f,不是f,因为f是文件名,不是路径
os.removedirs(cur_path)
for d in doc_suffix:
cur_path = path + '/' + d
files = os.listdir(cur_path)
for f in files:
shutil.move(cur_path + '/' + f, path + '/document')
os.removedirs(cur_path)
1、巧妙的利用的【】列表和for循环来做自动化的执行;
2、os.removedirs os.makedirs
3、shutil.move(path1,path2),这个模块的move函数很有用,是路径