2017-08-29 79 views
0

我試圖將文件從當前目錄複製到當前目錄中新創建的文件夾。文件夾名稱是腳本使用時間模塊運行的確切日期和時間。我正在嘗試使用shutil模塊,因爲這就是每個人似乎都認爲將文件從一個地方複製到另一個地方的最佳方式,但我一直在收到權限錯誤。我粘貼了下面的代碼和錯誤。有什麼建議麼?提前致謝。使用Python複製文件

import os 
import time 
from shutil import copyfile 

oldir = os.getcwd() 
print(oldir) 
timestr = time.strftime("%Y%m%d-%H%M%S") 
print('timestr: {}'.format(timestr)) 
newdir = os.path.join(oldir + "\\" + timestr) 
print(newdir) 


for filename in os.listdir(os.getcwd()): 
    if filename.startswith("green"): 
     print (filename) 
     copyfile(oldir, newdir) 

錯誤:

Traceback (most recent call last): 
    File "\\directory\directory\Testing1.py", line 16, in <module> 
    copyfile(oldir, newdir) 
    File "C:\Python36-32\lib\shutil.py", line 120, in copyfile 
    with open(src, 'rb') as fsrc: 
PermissionError: [Errno 13] Permission denied: '\\\\directory\\directory' 
+2

這是因爲不是複製文件,而是嘗試將當前**目錄**本身複製到其子目錄中。 –

回答

1

您需要先創建目錄,然後當你的副本,請使用整個路徑都啓動文件,然後結束文件

import os 
import time 
from shutil import copyfile 

oldir = os.getcwd() 
print(oldir) 
timestr = time.strftime("%Y%m%d-%H%M%S") 
print('timestr: {}'.format(timestr)) 
newdir = os.path.join(oldir + "\\" + timestr) 
print(newdir) 

if not os.path.exists(newdir): 
    os.makedirs(newdir) 

for filename in os.listdir(os.getcwd()): 
    if filename.startswith("green"): 
     print (filename) 
     copyfile(oldir+"\\"+filename, newdir + "\\" + filename) 
+0

正如所指出的,如果不檢查目錄是否存在,或者您是先創建目錄,則無法複製@Matt – deaspo