繁体   English   中英

将文件从一个目录复制到另一个python

[英]Copying files from one directory to another python

您好,有人知道如何将文件从一个目录复制到另一个目录吗? 我已经使用了“ shutil.copy2”,它可以工作并将副本复制到指定的输出。

但是,我的目标是能够将文件从一个目录复制到另一个目录,从而允许用户通过名称指定要复制的文件。 不必每次都输入目录路径。

思考过程:由于我指定了文件目录。 使用raw_input用户可以通过某种方式指定要从指定目录复制的文件。 发表我的代码以供参考。 #请不要BS评论我是编码新手,只是想学习。

#----------------------------------------------------------------------------------------------------------------#
# These params will be used for specifying which template you want to copy and where to output 
#----------------------------------------------------------------------------------------------------------------#
'''Load file from x directory into current working directory '''

#PullTemplate: Specify which template you want to copy, by directory path

TemplateRepo = ("/home/hadoop/BackupFolders/Munge_Stage_Templates/Templates")

user_input = raw_input("which file do you want to pull:")


#OutputTemplate: Let's you specify where you want to output the copied template.
#Originally set to your current working directory (u".")

OutputTemplate = (u".")


#----------------------------------------------------------------------------------------------------------------#
# STATIC CODE: Do not alter "Just Run!"
#----------------------------------------------------------------------------------------------------------------#
shutil.copy2(TemplateRepo, OutputTemplate)

因此,您需要使它们只是输入文件名还是在询问如何获取相对路径?

编辑

好的,这样对于初学者来说,现在和将来使您的生活变得更轻松,函数将使您的生活更加轻松。 其次,查看docs https://docs.python.org/3/library/functions.html#open优质资源,您要做的大多数事情都会告诉您如何使用。 您必须使用绝对路径保存文件,但是可以使用相对路径打开文件。

shutil.copy2()的第一个选项应该是文件而不是目录,因此您需要从输入中添加TemplateRepo和文件名:

TemplateRepo = ("/home/hadoop/BackupFolders/Munge_Stage_Templates/Templates")
user_input = raw_input("which file do you want to pull:")
OutputTemplate = (u".")

InputFile = TemplateRepo + '/' + user_input

shutil.copy2(InputFile, OutputTemplate)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM