这似乎很有用,但我无法解读这个并将其应用于我的问题。
Python output file with timestamp
通过API授权后,我希望每次调用coinbase.py时都会将此网站转储。以下是我的相关内容:
transdata = get_http('https://coinbase.com/api/v1/transfers').read()
f1 = open('./DUMP.txt', 'w+')
f1.write( transdata )
每次调用时都会覆盖DUMP.txt。每次这个模块是calld时,如何让python为输出文件分配一个新名称,保留旧的输出......并尽可能使名称符合逻辑(可能带有调用的时间和日期)?
答案 0 :(得分:1)
您可以使用time.time()
并将float转换为整数来预先添加Linux时间戳:
import time
transdata = get_http('https://coinbase.com/api/v1/transfers').read()
f1 = open('{}_DUMP.txt'.format(int(time.time())), 'w+')
f1.write( transdata )
我使用with
- 语句,因此您的文件实际上已正确处理:
import time
with open("{}_DUMP.txt".format(int(time.time()), 'w+') as out:
out.write(get_http('https://coinbase.com/api/v1/transfers').read())
time
和datetime
模块提供了处理python时所需的一切。
或者如果你想要一个日期和时间,快速的方法是使用datetime.datetime.now()
:
from datetime import datetime
with open("{}_DUMP.txt".format(datetime.datetime.now(), 'w+') as out:
out.write(get_http('https://coinbase.com/api/v1/transfers').read())
答案 1 :(得分:0)
考虑使用tempfile
https://docs.python.org/2/library/tempfile.html,即使使用已定义的名称前缀,也可以创建唯一文件。
但是你所描述的内容通常是通过将数据转储到一个日志文件来解决的,你不会让你的目录混乱太多的文件。