dbcon = sqlite3.connect(sys.argv [1] +' .sqlite')。含义?

时间:2017-06-20 19:56:25

标签: python database sqlite dbconnection

我有一个python程序,我需要知道下面的代码块是做什么的。

特别是dbcon = sqlite3.connect命令。括号中的参数是什么。

    dbcon = sqlite3.connect(sys.argv[1] + '.sqlite')
    dbcurs = dbcon.cursor()

    dbcurs.execute('''DROP TABLE IF EXISTS acc''')
    dbcurs.execute('''CREATE TABLE acc (time REAL, x INTEGER, y INTEGER, z INTEGER)''')
    dbcurs.execute('''CREATE INDEX time_hash ON acc (time)''')

1 个答案:

答案 0 :(得分:1)

sys.argv包含传递给python脚本的命令行参数。因此sys.argv[1]将是脚本名称后的第一个参数,即sys.argv[0]。我假设这个参数是sqlite数据库的位置,减去.sqlite扩展名。请参阅sqlite3sys模块的文档。

例如,如果在命令行中键入python myscript.py /path/to/my/db,其中myscript.py是脚本的名称,则行dbcon = sqlite3.connect(sys.argv[1] + '.sqlite')将尝试为位于以下位置的数据库文件打开数据库连接“/path/to/my/db.sqlite”。