lintcode-2107 · 批量复制文件
【摘要】 大家好,我是半夏👴,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注➕ 点赞 👍 加我微信:frontendpicker,邀你进群,一起学习交流前端,成为更优秀的工程师~关注公众号:半夏话前端,了解更多前端知识!点我探索新世界! 描述本题目的是为了把源目录下的所有文件复制到目标路径下,如果目标路径不存在,则进行创建。本题会在 main.py 中导入你在 copy_folder.p...
大家好,我是半夏👴,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注➕ 点赞 👍 加我微信:frontendpicker,邀你进群,一起学习交流前端,成为更优秀的工程师~关注公众号:半夏话前端,了解更多前端知识!点我探索新世界!
描述
本题目的是为了把源目录下的所有文件复制到目标路径下,如果目标路径不存在,则进行创建。
本题会在 main.py
中导入你在 copy_folder.py
中完整的代码并运行,以实现目录下所有文件的转移。
样例
评测机会通过执行命令 python copy_folder.py {from_dir_path} {to_dir_path}
来执行你的代码,并将 from_dir_path
和 to_dir_path
作为命令行参数传入,你可以在 main.py
中了解代码是如何运行的。
样例一
当输入文件路径为:
/data/testcase1/ /output/dir1/
输出数据为:
comparator output: success
样例二
当输入文件路径为:
/data/testcase2/ /output/dir2/
输出数据为:
comparator output: success
题解
这题主要是有两个点:
- 复制目录下的所有文件
- 目标路径不存在则创建。
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
它不包括 . 和 … 即使它在文件夹中。
只支持在 Unix, Windows 下使用。
os.path.isfile():判断某一对象(需提供绝对路径)是否为文件。
shutil.copyfile(src, dst):复制文件内容(不包含元数据)从src到dst。
shutil.copytree复制文件夹下面所有文件跟文件夹
shutil.copyfileobj(fsrc, fdst[, length]):复制文件内容(不包含元数据)从类文件对象src到类文件对dst。
import shutil
import os
def copy_folder(from_dir_path, to_dir_path):
# write your code here
file_list = os.listdir(from_dir_path)
if os.path.exists(to_dir_path)==False:
os.makedirs(to_dir_path)
for i in file_list:
# print("文件有",i)
# print(type(i))
if(os.path.isfile(from_dir_path+"/"+i)):
shutil.copyfileobj(open(from_dir_path+"/"+i,'r'), open(to_dir_path+"/"+i,'a'))
else:
shutil.copytree(from_dir_path+"/"+i,to_dir_path+"/"+i)
# shutil.copytree(from_dir_path, to_dir_path)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)