1

我正在学习 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'
4

3 回答 3

4

您可以使用该datetime模块来获取此信息。

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

我相信您已经注意到,反向替换在 python 中不像在 shell 中那样起作用。它隐式调用repr(在 python2.x 中),这是您的附加引号的来源。

编辑time.strftime——显然你可以使用删除反引号,如果你省略第二个参数,你的代码应该或多或少地像使用当前本地时间一样工作。

于 2013-02-12T18:55:14.400 回答
1

您可以立即将文本放入格式字符串中:

#!/usr/bin/python

import os
from time import strftime

print strftime("full-backup-ucs-%Y-%m-%d")
于 2013-02-12T18:55:43.470 回答
1

不使用反引号:

import time
print time.strftime("full-backup-ucs-%Y-%m-%d")
于 2013-02-12T18:57:57.490 回答