2016-08-10 3 views
0

제목이 말하듯이 파일 (이 경우 이전에 선택한 사진)을 특정 디렉토리에 저장하고 저장된 파일의 이름을 지정하려면 어떻게해야합니까 (예 : 01-01-2016). jpg)? 이 라인특정 디렉토리에 파일을 저장하고 파이썬에서 파일 이름을 선택하는 방법은 무엇입니까?

TypeError: unsupported operand type(s) for +: 'datetime.date' and 'str' 

:

import os.path 
import datetime 
todays_date = datetime.date.today() 

def add_pic (pic): 

    if not os.path.exists ("Pictures"): 
     os.makedirs ("Pictures") 
    photo_name = todays_date + ".jpg" 
    pic.save ("Pictures/"photo_name) 

나는이 오류가 발생합니다 :

여기 내 코드의 일부이다

photo_name = todays_date + ".jpg" 

플러스, 나는 마지막 확실하지 않다 라인도, 그래서 pls 도움이!

답변

1

사용 .strftime() "형식 인수에 의해 지정된 문자열로 gmtime에 의해() 또는 localtime으로()를 돌려 시간을 나타내는 튜플 또는 struct_time을 변환 할 수 있습니다."다음

photo_name = todays_date.strftime('%m-%d-%Y') + ".jpg" 
pic.save(os.path.join("Pictures",photo_name)) 

또한 대한 os.path.join()를 사용 파일 이름에 디렉토리를 결합하는 크로스 플랫폼 방식

@Blckknght는 의견에서 다음과 같이 말합니다. '%m-%d-%Y'은 주문 변경이 가능한 것입니다. '%Y-%m-%d'은 일반적인 변형입니다.

+1

'strftime'의 정확한 인수는 질문자가 원하는 것이 될 수 있습니다 (많은 경우 '% Y- % m- % d'가 더 좋을 수도 있음). – Blckknght

+0

좋은 지적, @Blckknght. 다른 예제를 추가합니다. – bernie

0

예. 위의 해결 방법이 효과가 있습니다. 문자열로 시간 값을 추가하는 것이 잘못되었습니다.

관련 문제