2013-02-12 59 views
1

我正在学习Python和我想写一个愚蠢的代码,结果被困在这里,我需要一个像full-backup-ucs-2013-02-12Python中加入日期和文件名

#!/usr/bin/python 

import os 
from time import strftime 

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

print backupfile 

backupfile的名字,当我运行我得到了下面的输出,你看到它在日期打印两个单引号' ',我想删除它们。我相信,有优雅的方式来做到这一点请建议:

[[email protected] work]$ ./backup.py 
full-backup-ucs-'2013-02-12' 
+1

作为一个方面说明,我+1到这一点,因为我会发誓说,backtics会产生一个SyntaxError之前这个问题:) – mgilson 2013-02-12 19:10:43

+0

准备好了!我已经开始学习Python,所以更多的问题正在我的路上:) – Satish 2013-02-12 19:31:06

回答

4

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

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

正如我相信你已经注意到,backtic substitution doesn't work in python as it does in the shell。它隐含地调用repr(在python2.x中),这是您的额外引号来自的地方。

编辑 - 显然,你可以只使用去除backtics您的代码应为time.strftime更多或更少的工作使用当前本地时间,如果你忽略第二个参数。

+0

酷!我没有得到有关time.strftime的第二个解决方案 – Satish 2013-02-12 19:07:23

+0

太棒了!我明白了......它没有backtics :) DATE = strftime(“%Y-%m-%d”) – Satish 2013-02-12 19:28:36

1

你可以把文本格式字符串的时候了:

#!/usr/bin/python 

import os 
from time import strftime 

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

做没有反引号:

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