라즈베리파이에서 사진 캡쳐 후 저장하는 코드를 짰는데 넘버링을 하고 싶습니다.
조회수 332회
StartTime = time.time()
LastTime = 0
for i in range (1) :
while True :
#[Do if there is Data to Process.]
Length = Serial_PC_Justin.inWaiting()
if Length == 0:
continue
data = Serial_PC_Justin.read(Length)
File_Justin = open("LogData%s.jpg"%i,"ab")
File_Justin.write(data)
File_Justin.close()
TotalLength += Length
#[Print Periodically.]
TimePassed = time.time() - StartTime
if TimePassed > LastTime + 1:
print(f"Total Length: {TotalLength} bytes")
print(f"Average Speed: {TotalLength / (1024 ** 2 * TimePassed)} MB/s")
Serial_PC_Justin.close() #[Close the Port.]
사진을 LogData.jpg로 저장하는데 코드 돌릴때 마다 넘버링을 하고 싶습니다.
예를 들면 LogData1.jpg
,LogData2.jpg
, ...
지금은 계속 한파일에만 덮어쓰네요.
1 답변
-
for i in range (1) :
루프는 삭제하시고, 대신 이렇게 써보세요.import datetime file_dt = datetime.datetime.now().strftime('%Y%m%d%H%M%S') File_Justin = open("LogData%s.jpg"%file_dt, "ab")
그러면 대충
LogData20230103162241.jpg
,LogData20230103162242.jpg
, ... 하는 식으로 파일명이 만들어질 겁니다.실 사용 시나리오를 보자면 1부터 시작하는 일련번호보다는 타임스탬프가 나을 거 같아서, 이쪽을 추천 드립니다.
댓글 입력