2011-10-27 1 views
2

현재 디렉토리 이름을 날짜와 시간으로 사용하여 파이썬 v2.7을 사용하는 리눅스에서 디렉토리를 만들려고합니다 (예 : 27-10-2011 23 : 00:01). 이에 대한 내 코드는 다음과 같습니다. -디렉토리 안에 날짜 시간 이름과 서브 파일을 가진 dir 만들기 (파이썬)

import time 
import os 

dirfmt = "/root/%4d-%02d-%02d %02d:%02d:%02d" 
dirname = dirfmt % time.localtime()[0:6] 
os.mkdir(dirname) 

이 코드는 제대로 작동하고 요청 된대로 디렉토리를 생성합니다. 그럼에도 불구하고, 나는이 디렉토리에서 두 개의 csv 파일과 같은 이름의 로그 파일을 생성한다. 이제 디렉터리 이름이 동적으로 생성되므로이 파일을 만들기 위해이 디렉터리로 이동하는 방법을 확신 할 수 없습니다. 세 파일과 함께 디렉토리에 모두 같은 이름을 지정하고 싶습니다. (CSV 파일에는 문자가 접두어로 붙습니다). 예를 들어, 위의 내용에서 "27-10-2011 23:00:01"이라는 디렉토리를 만든 다음이 디렉토리에 "a27-10-2011 23 : 00 : 01.csv"라는 두 개의 CSV 파일을 생성하고 싶습니다. "및"b27-10-2011 23 : 00 : 01.csv "및"27-10-2011 23 : 00 : 01.log "라는 로그 파일이 있습니다. 파일 작품에 대한

내 코드는 다음과 같습니다 : -

csvafmt = "a%4d-%02d-%02d %02d:%02d:%02d.csv" 
csvbfmt = "b%4d-%02d-%02d %02d:%02d:%02d.csv" 
logfmt = "%4d-%02d-%02d %02d:%02d:%02d.log" 

csvafile = csvafmt % time.localtime()[0:6] 
csvbfile = csvbfmt % time.localtime()[0:6] 
logfile = logfmt % time.localtime()[0:6] 

fcsva = open(csvafile, 'wb') 
fcsvb = open(csvbfile, 'wb') 
flog = open(logfile, 'wb') 

모든 제안 나는 두 번째에 걸쳐 동일하게 유지되도록이 작업을 수행 할 수 있습니까? 이 코드는 실행하는 데 초당 분할하는 것이 좋지만 그 시간 내에 두 번째 코드가 변경 될 수 있습니다. 이 문제의 핵심은 "time.localtime"을 변경하는 것입니다.하지만 나는 확신 할 수 없습니다.

감사

답변

2

물론, 단지 변수에 시간을 절약하고 대체를 위해 그 변수를 사용

now = time.localtime()[0:6] 
dirname = dirfmt % now 
csvafile = os.path.join(dirname, csvafmt % now) 
csvbfile = os.path.join(dirname, csvbfmt % now) 
logfile = os.path.join(dirname, logfmt % now) 

편집은 CSV의 전체 경로를 만드는 포함 로그 파일.

+0

감사합니다. 생성 된 디렉토리에서 이러한 파일을 만드는 것은 어떻습니까? 예를 들어 "logfmt"를 편집하여 생성 된 디렉토리에 대한 경로가 포함되도록하려면 어떻게해야합니까? – thefragileomen

+0

@thefragileomen - CSV 및 로그 파일의 전체 경로를 얻을 수 있도록 내 대답을 편집했습니다. –

+0

감사드립니다. 감사. 치료를 했어. – thefragileomen

0

time.localtime을 한 번 호출합니다.

current_time = time.localtime()[0:6] 

csvafile = csvafmt % current_time 
csvbfile = csvbfmt % current_time 
logfile = logfmt % current_time 
+0

감사합니다. 생성 된 디렉토리에서 이러한 파일을 만드는 것은 어떻습니까? 예를 들어 "logfmt"를 편집하여 생성 된 디렉토리에 대한 경로가 포함되도록하려면 어떻게해야합니까? – thefragileomen

관련 문제