2017-08-29 7 views
0

現在のディレクトリのファイルを現在のディレクトリの新しく作成したフォルダにコピーしようとしています。フォルダ名は、スクリプトがtimeモジュールを使用して実行する正確な日時です。私は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

関連する問題