Python 连接日期和文件名

1 投票
3 回答
1279 浏览
提问于 2025-04-17 15:39

我正在学习Python,想写一段简单的代码,但在这里卡住了。我需要一个备份文件的名字,格式像这样:full-backup-ucs-2013-02-12

#!/usr/bin/python

import os
from time import strftime

DATE=`strftime("%Y-%m-%d")`
backupfile = "full-backup-ucs-" + DATE

print backupfile

当我运行代码时,输出结果是这样的,你看到日期部分有两个单引号' '吗?我想把它们去掉。我相信有更好的方法来做到这一点,请给我建议:

[spatel@tux work]$ ./backup.py
full-backup-ucs-'2013-02-12'

3 个回答

1

不要使用反引号:

import time
print time.strftime("full-backup-ucs-%Y-%m-%d")
1

你可以直接在格式字符串里放入文本:

#!/usr/bin/python

import os
from time import strftime

print strftime("full-backup-ucs-%Y-%m-%d")
4

你可以使用 datetime 模块来获取这些信息。

import datetime
DATE = datetime.datetime.now().strftime('%Y-%m-%d')

正如你可能已经注意到的,反引号在Python中的作用和在命令行中不一样。它在后台会调用 repr(在Python 2.x中),这就是你看到额外引号的原因。

编辑 -- 显然,你可以直接去掉反引号,这样你的代码应该基本上能正常工作,因为time.strftime 如果你不提供第二个参数,就会使用当前的本地时间。

撰写回答