2011-08-16 40 views
0

我在我的views.py文件中有兩行。想要給兩個文件添加時間戳

views.py

os.popen3("mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup.sql") 
os.popen3("gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup.gz" 

我希望能夠做的就是在這些文件backup.sqlbackup.gz我希望他們加時間戳的。所以這意味着我想以這些文件的名字來看日期。例如,文件名稱backup-16-Aug-2011.gz

回答

2
from subprocess import Popen, PIPE 
from datetime import datetime 

# yes, this is me being lazy and not wanting to write a format string. 
date = datetime.today().isoformat().split('T')[0] 

mysql = "mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup-{}.sql".format(date) 
gzip = "gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup-{}.gz".format(date) 

Popen(mysql, stdin=PIPE, stderr=PIPE, stdout=PIPE, shell = True) 
Popen(gzip, stdin=PIPE, stderr=PIPE, stdout=PIPE, shell = True) 

,或者對於老版本的Python,

from datetime import datetime 
import os 

date = datetime.today().isoformat().split('T')[0] 

mysql = "mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup-%s.sql" % date 
gzip = "gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup-%s.gz" % date 

os.popen3(mysql) 
os.popen3(gzip) 
+0

這是正確的。謝謝。 – Shehzad009