我目前正在寻找使用Python v2.7在Linux上创建目录,目录名称为日期和时间(即27-10-2011 23:00:01)。我的代码如下: -
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”,但我仍然不确定。
由于
答案 0 :(得分: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和日志文件的完整路径。
答案 1 :(得分:0)
只能拨打time.localtime
一次。
current_time = time.localtime()[0:6]
csvafile = csvafmt % current_time
csvbfile = csvbfmt % current_time
logfile = logfmt % current_time