Sha*_*n-x 0 python sqlite cron
我有一个以以下代码开头的程序:
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
Run Code Online (Sandbox Code Playgroud)
此代码返回一个包含数据库表的元组。当我手动运行它时它运行良好,但当我使用 cron 运行它时它运行良好(我使用 Debian Wheezy)。当我用 cron 启动它时,我只有[]作为输出,我不明白为什么。任何的想法 ?谢谢。
编辑:其余代码工作正常,即使由 cron 启动。
EDITbis :这是完整的代码
# Opening of the database
data="bdd-test.sq3"
conn =sqlite3.connect(data)
cur =conn.cursor()
type_liste=[]
table_liste=[]
# Listing and opening of the tables
cur.execute("SELECT name FROM sqlite_master WHERE type='table'")
print(cur.fetchall())
for table in cur.fetchall():
table=table[0]
if '_m' in table:
cur.execute("CREATE TABLE IF NOT EXISTS {} (date TEXT, type TEXT, zone TEXT, min REAL, max REAL, moyenne REAL)".format(table))
else:
type_liste.append(table)
cur.execute("CREATE TABLE IF NOT EXISTS {} (date TEXT, type TEXT, zone TEXT, value REAL)".format(table))
Run Code Online (Sandbox Code Playgroud)
可能是因为从cron您当前的工作目录启动时不同,所以您没有打开正确的 db 文件。通常,sqlite 会创建一个新的数据库文件,该文件是空的,因此是代码片段的空结果集。
尝试使用绝对路径而不是相对路径来指定您的数据库文件(因为我猜您正在这样做)。
更新:是的,阅读您刚刚发布的完整示例 I,您需要在data.
| 归档时间: |
|
| 查看次数: |
1046 次 |
| 最近记录: |