Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python代码输出到文件并向文件名添加时间戳_Python_File_Timestamp_Output - Fatal编程技术网

Python代码输出到文件并向文件名添加时间戳

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修复程序的角度来处理这个问题,而只是重定向运行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

如果您遵循此人的建议(这似乎是明智的),那么这更像是一个
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