import os
import shutil
def check_dir_exist(dir) :
# 如果目标路径不存在原文件夹的话就创建
if not os.path.exists(dir):
os.makedirs(dir)
def remove_dir(dir) :
# 如果目标路径存在原文件夹的话就先删除
if os.path.exists(dir):
shutil.rmtree(dir)
def copy_tree(src, dst) :
remove_dir(dst)
shutil.copytree(src, dst)
def copy_tree2(src, dst) :
check_dir_exist(dst)
start_index = len(src)
if os.path.exists(src):
# root 所指的是当前正在遍历的这个文件夹的本身的地址
# dirs 是一个 list,内容是该文件夹中所有的目录的名字(不包括子目录)
# files 同样是 list, 内容是该文件夹中所有的文件(不包括子目录)
for root, dirs, files in os.walk(src):
relative_path = root[start_index:]
dst_re_path = dst + relative_path
check_dir_exist(dst_re_path)
for file in files:
src_file = os.path.join(root, file)
shutil.copy(src_file, dst_re_path)
def copy_file_recursion(src, dst) :
check_dir_exist(dst)
if os.path.exists(src):
# root 所指的是当前正在遍历的这个文件夹的本身的地址
# dirs 是一个 list,内容是该文件夹中所有的目录的名字(不包括子目录)
# files 同样是 list, 内容是该文件夹中所有的文件(不包括子目录)
for root, dirs, files in os.walk(src):
for file in files:
src_file = os.path.join(root, file)
shutil.copy(src_file, dst)
def main():
MyPrintf("1111")
copy_tree2("./src", "./dst1")
copy_tree2("./src", "./dst2")
copy_file_recursion("./src", "./dst3")
def MyPrintf(param):
print(param)
if __name__ == '__main__':
main()
#! /usr/bin/env bash
set -e
pro="$1"
cd ${pro}
mkdir -p build
cd build
cmake ../
make
cd ../../
dst_depend=../../../Depend
mkdir -p ../../../Depend
rm -rf ${dst_depend}/include/${pro}
rm -rf ${dst_depend}/lib/lib${pro}.so
mkdir -p ${dst_depend}/include
mkdir -p ${dst_depend}/lib
cp -L -r ./${pro}/build/x86_64/include/* ${dst_depend}/include/
cp -L -r ./${pro}/build/x86_64/lib/* ${dst_depend}/lib/