2013-02-12 91 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") 
相關問題