Python代码输出到文件并向文件名添加时间戳
“我甚至不会从python修复程序的角度来处理这个问题,而只是重定向运行python脚本的输出: python/path/to/script/myscript.py>/path/to/output/myfile.txt 脚本中无需更改任何内容,所有打印语句都将显示在文本文件中。” 如何使用上面的代码将文件输出到文件中,同时为文件名添加时间戳?Python代码输出到文件并向文件名添加时间戳,python,file,timestamp,output,Python,File,Timestamp,Output,“我甚至不会从python修复程序的角度来处理这个问题,而只是重定向运行python脚本的输出: python/path/to/script/myscript.py>/path/to/output/myfile.txt 脚本中无需更改任何内容,所有打印语句都将显示在文本文件中。” 如何使用上面的代码将文件输出到文件中,同时为文件名添加时间戳? 示例:python/path/to/script/myscript.py>/path/to/output/myfile01-22-2014.txt如果您遵
示例:python/path/to/script/myscript.py>/path/to/output/myfile01-22-2014.txt如果您遵循此人的建议(这似乎是明智的),那么这更像是一个
bash
问题,而不是一个python问题-您可以使用date
命令在控制台命令中生成文件名,例如:
import sys
from datetime import datetime
from cStringIO import StringIO
backup = sys.stdout
sys.stdout = StringIO()
run_script();
print 'output stored in stringIO object'
out = sys.stdout.getvalue()
sys.stdout.close()
sys.stdout = backup
filename = '/path/to/output/myfile-%s.txt'%datetime.now().strftime('%Y-%m-%d')
f = open(filename,'w')
f.write(out)
f.close()
python /path/to/script/myscript.py > /path/to/output/myfile$(date "+%b_%d_%Y").txt
我这样做是为了在文件名中添加时间戳
import time, os, fnmatch, shutil
t = time.localtime()
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
BACKUP_NAME = ("backup-" + timestamp)
您引用的人建议您使用shell/命令提示符来处理文件的创建。您正在运行哪个shell,例如bash或windows命令提示符?两者都应该有这样简单的创建时间戳的方法。。。。。我是python新手,正在使用它从nest恒温器获取信息,并将其保存到一个文件中并为其添加时间戳…python/usr/local/bin/nest.py-u alan@#,但是带有日期参数的shell选项似乎更适合您的方法,比如@Marius said这样做
/path/to/output/file-`date+%Y-%m-%d`.txt
或/path/to/output/file-$(date+%Y-%m-%d).txt