题目要求
目录中所有文件名为0-1.bmp
...0-49.bmp
`a-1.bmp...
a-49.bmp,其他文件同理,现要求将2号索引中为
6`的文件全部提取出来。
实现方案
此方案主要利用了python中的os
模块与shutil
库中的copy
功能。
import os #导入os模块
from shutil import copy
考虑到文件位置可能变动,或者不同用户的使用,因此使用用户自己输入文件位置的方法。
path=input("请输入提取文件夹(如E:/python/12):")
to_path = input("请输入存储文件夹(如E:/python/123):")
利用os
中的listdir
语句将文件夹中的文件名全部提取出来。
dirs=os.listdir(path)
遍历已提取出的所有文件,逐步筛选,获得所需文件,由于提出的文件名称含有文件格式 '.bmp'
,因此,利用os
中的功能将文件名与格式进行拆分。
并且利用文件名称'x-x'
的特点再次将其拆分,然后根据2号索引值6
进行筛选提取。
for file in dirs:
ming=os.path.splitext (file)
str=ming[0].split("-")[1]
if str=="6":
from_path = os.path.join(path, file)
copy(from_path,to_path)
补充
shutil
中的copy
语句
功能:复制文件
格式:shutil.copy('来源文件','目标地址')
返回值:复制之后的路径