最近有个需求,需要将指定文件夹下的图片复制到桌面指定的文件夹,按照常规的只需要进入指定文件夹将图片全部复制到另外一个文件夹就可以了,但文件夹中还包括不是图片格式的文件。
这个时候就可以使用Python 自带的os、sys、shutil库进行相关的操作。具体代码及注释说明如下:
import os
import sys
import shutil
def findAllFile(base):
"""
查找目录下所有的文件
@param base:
@return:
"""
for root, ds, fs in os.walk(base):
for f in fs:
fullname = os.path.join(root, f)
yield fullname
def main(targetFileDir,toFileDir,fileType):
if not os.path.exists(toFileDir):
os.mkdir(toFileDir) # 如果夹不存在就创建文件夹
for file in findAllFile(targetFileDir):
if fileType in file : # 判断文件型
filename = file.split("/")[-1] # 获取文件名
filePath = f'{toFileDir}/{filename}' # 拼接文件名
shutil.copyfile(file,filePath) # 复制文件
print(f"当前复制的文件:{file}")
if __name__ == '__main__':
if len(sys.argv) == 4: #判断输入参数是否正确
targetFileDir = sys.argv[1] # 目标文件夹
toFileDir = sys.argv[2] # 要复制到的目标文件夹
fileType = sys.argv[3] #文件类型 例如png jpg doc xls
main(targetFileDir,toFileDir,fileType)
else:
print("参数有误....")
使用方法:
1、将本脚本文件保存为tools.py文件
2、打开命令行工具,并使用cd命令进入到保存tools.py的文件夹
例:tools.py 保存在D盘demo文件夹下则输入:
cd D:\demo
3、输入以下命令
python tools.py <需要复制的文件所在的文件夹> <需要复制到的新文件玩意儿> <文件类型>
例如复制D盘下test文件夹下的所有doc文件到 d盘下的test1文件夹
输入以下命令:
python d:\test d:\test1 doc
4、等待命令执行完成,去D盘下test1文件夹下检查文件
此脚本文件需要在python3有环境下使用,支持任意格式的文件复制。如果出现不能复制,请检查文件后辍名是否设置了隐藏。
关注我,并在评论区留言,需要什么样的脚本工具,都可以提供工具及使用教程!