由于所需的文件.nil被分类到某目录的各个文件夹中,我需要将这个目录子文件夹下的所有.nil文件都汇总到一个文件夹中,因而有了这段代码,代码如下:
import os
import shutil
import glob
from pathlib import Path
def my_move(srcfn, dstdir): ##定义移动函数,参数为原目录和目标目录
if not os.path.isdir(srcfn): ##判断文件夹是否存在
print('srcfn error')
else:
print(srcfn)
print(Path(srcfn).iterdir())
for folder in Path(srcfn).iterdir():
print(folder)
if not os.path.isdir(folder): ##判断文件夹是否存在
print('folder error')
fns = glob.glob(str(folder) + '\*.gz') ##收集文件夹下的所有nil
if not os.path.exists(dstdir): ##如果目录不存在,创建目录
os.makedirs(dstdir)
for file in fns:
shutil.move(file, dstdir) ##移动文件到新目录dstdir
if __name__ == '__main__':
my_move('D:\BCP-main\BCP-main\code\Data', 'D:\BCP-main\BCP-main\code\Data')