我最近開始學習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