2017-04-24 138 views
0

你有没有人知道如何从一个目录复制文件到另一个?我使用了它的“shutil.copy2”,并将副本获取到指定的输出。从一个目录复制文件到另一个python

虽然,我的目标是能够将文件从一个目录复制到另一个目录,允许用户指定他们想要按名称复制的文件。而不是每次都输入目录路径。

思考过程:因为我指定了文件目录。不知何故,使用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) 
+0

的可能的复制[如何将Python中的文件](http://stackoverflow.com/questions/8858008/how-to-move-a-file-in-python) – JoeBeCool

回答

0

所以澄清一点,你想让他们只是输入一个文件名,或者你问如何获得相对路径?

编辑

确定,所以对于初学者,使现在你的生活更轻松,并在今后的使用功能将让你的生活容易得多。其次检查文档https://docs.python.org/3/library/functions.html#open伟大的资源,你想做的大部分事情会告诉你如何。您将不得不使用绝对路径来保存文件,但您可以使用相对路径来打开它。

+0

我对错误分类的道歉:我想使用raw_input,以便他们可以指定他们想要的文件通过文件名复制和是。我的逻辑是,因为我指定了文件所在目录的路径,我可以通过文件名来复制。 – victor

0

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) 
+0

非常感谢!我是编程幸运的新人,希望获得实习机会,在这个实习中,团队把我带到了自己的领导下,并且教会了我的基本原理。还有很多东西要学习..感谢您的帮助! – victor

相关问题