我最近开始学习Python,我有一个应用程序,我想创建一个文本文件,每两秒钟记录一次数据,然后重新开始一个新文件。我已经写好了将打开的文件格式化为SQL并且正在添加SQL INSERT查询的地方。运行Python函数每秒钟一分钟
我遇到的麻烦是创建代码实际正常工作。 Python的本身是工作的罚款只是插入SQL到已经打开的文件的新线,但输出看起来是这样的:
[blank line is here because of the \n]
INSERT INTO table (column 1, column 2) VALUES ('7113', '1337');
INSERT INTO table (column 1, column 2) VALUES ('7113', '1337');
我的问题是,我需要得到的数据,所以没有新线在最上面没有分号,最后一行没有分号。
这是我的源:
from threading import Timer
import time
def start():
t = Timer(1.0,start)
foo = "7113"
bar = "1337"
date = time.strftime('%Y-%m-%d %H:%M:%S')
sql = "\nINSERT INTO table (column 1, column 2) VALUES ('%s', '%s');" % (foo, bar)
query = open(date + ".sql", "a")
query.write(sql)
query.close()
t.start()
start()
由于我不是最好的语言用的是我想做一个简单的版本是:
- 有一个功能运行第一个代码,吐出
INSERT INTO table (column 1, column 2) VALUES ('7113', '1337');
前面没有额外的行,但用分号。 - 有另外一个函数运行58次,在SQL查询之前加上
\n
行,之后加上分号。 - 是否有最后一个函数运行第60次,包括
\n
但没有分号。 - 关闭当前文件并生成一个新的带有时间戳的文本文件,例如
2013-07-09 12-30-00.sql
,然后重复2013-07-09 12-31-00.sql
等操作。
我想在此之后还有很多事情,比如让PHP或Python脚本读取日期并执行它,或者我可以让它们全部执行,然后按升序排列表。但是,这可以在以后解决和研究。我只是想让这个工作,因为我一直在寻找几个小时,如何做到这一点,我找不到任何有用的东西。不过,我相信答案是显而易见的。
感谢您的阅读,我希望你们能帮忙!我已经使用这个网站了一些有用的花絮,这是太棒了。无论谁提出这个需要赞美一堆。此外,如果任何人有任何有用的学习Python资源(我通过Codecademy了解到),我会非常感激他们。这比学习C++更有趣。
为什么在第一行和最后一行需要不同的行为?为什么不直接用分号和换行符结束每一行? – user2357112
我以为你不能在MySQL中这样做。 – Jake