2012-06-28 1 views
0

파일이 들어있는 압축 된 아카이브 디렉토리를 만들려고합니다. 이 작업은 매일 수행되므로 아카이브 디렉토리의 이름에는 작성한 날짜가 포함되어야합니다. 잘못된 구문으로 인해 디렉토리를 만든 후에는 디렉토리의 이름을 바꿀 수 없습니다. 다음은os.rename은 파이썬의 현재 날짜에 파일을 등록합니까?

import zipfile 

print('creating archive') 
zf = zipfile.ZipFile('archive.zip', mode='w') 
try: 
    print('adding udp files') 
    zf.write('test.udp') 
finally: 
    print ('closing') 
    zf.close() 
print('renaming archive...') 
import datetime 
dt = str(datetime.datetime.now()) 
import os 
newname = 'file_'+dt+'.zip' 
os.rename('archive.zip', newname) 
print('renaming complete...') 

내가 수신하고 오류 메시지입니다 :

역 추적 (마지막으로 가장 최근 통화) : 아래는 내가 사용하고있는 스크립트입니다 ". \ archive.py" 파일, 라인 (17)에 os.rename ('archive.zip', newname의) WindowsError : [오류 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 내가 파이썬 3.2를 사용하고

올바르지 않습니다. 필요한 것이 있으면 알려주세요.

감사합니다, 폴

답변

2

, :은 파일 이름에 유효한 문자가 아닌 다른 형식을 선택해야합니다, 그래서 당신은 Windows에서

file_2012-06-28 16:01:52.615855.zip 

처럼 뭔가 아카이브의 이름을 변경하려고 , 예. 날짜 만 포함 할 수 있습니다 :

>>> datetime.date.today().isoformat() 
'2012-06-28' 
관련 문제