2017-04-24 155 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

相關問題