python_复制目录+创建文件

python_复制路径
其中变量都是可以设置的
如果不想创建目录到对应注释下注释掉就好了
此脚本还加入了set条件 ‘xyz’,如果有需求可以使用,没需求也可以注释掉

from pathlib import  Path
import  shutil
from string import ascii_lowercase
import  random

#工作目录
basedir = Path('d:/python')
subdir = Path('a/b/c/d')
dstdir = Path('dst')
dirs = (subdir,*subdir.parents)[:-1]
print (dirs)

#创建目录 mkdir

(basedir / subdir).mkdir(parents=True,exist_ok=True)

#随机名称

filename = ("".join(random.choices(ascii_lowercase, k=4 ))for  i in range(50))
#创建文件共50个,随机创建
for name in filename:

    (basedir /random.choice(dirs) / name ).touch()

heads = set('xyz')

#过滤 是xyz开头的文件
def ignore_files(src,names):

    return {name for name in names  if name[0] not in heads and not Path(src,name).is_dir()}
#删除原有dst目录,确保目录为空
shutil.rmtree(str(basedir/dstdir),True)
#将文件copy到目的目录下
shutil.copytree(str(basedir / 'a'),str(basedir / dstdir ),ignore = ignore_files)


print ('*' * 30 )

for f in (basedir / dstdir).rglob('*') :
    print (f)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值