gpt4 book ai didi

python - 我不断得到列表超出范围尝试将 mysql 数据库转换为 html

转载 作者:行者123 更新时间:2023-11-29 13:05:31 26 4
gpt4 key购买 nike

我不明白为什么它总是给我 sys.argv[1] 的列表超出范围错误。根据我的理解,我正在将数据传递到用户数据库。请帮忙

import sys, MySQLdb

def PrintFields(database, table):
host = 'localhost'
user = 'root'
password = 'boysnblue1'
conn = MySQLdb.Connection(db=parking_report, host=localhost, user=root, passwd=boysnblue1)
mysql = conn.cursor()
sql = """ SHOW COLUMNS FROM %s """ % table
mysql.execute("select id, date, time, status, from report_table ")
fields=mysql.fetchall()
print '<table border="0"><tr><th>order</th><th>name</th><th>type</th><th>description</th></tr>'
print '<tbody>'
counter = 0
for field in fields:
counter = counter + 1
id = field[0]
date = field[1]
time = field[2]
status = field[3]
print '<tr><td>' + str(counter) + '</td><td>' + id + '</td><td>' + date + '</td><td>' + time + '</td><td>' + status + ' </td></tr>'
print '</tbody>'
print '</table>'
mysql.close()
conn.close()

users_database = sys.argv[1]
users_table = sys.argv[2]
print "Wikified HTML for " + users_database + "." + users_table
print "========================"
PrintFields(users_database, users_table)

最佳答案

sys.argv 是一个列表,其中包含程序文件的名称以及在命令行上传递的所有参数。

如果运行python script2.pysys.argv的内容将为['script2.py']

如果运行python script2.py database_name table_namesys.argv的内容将为['script2.py', 'database_name', ' table_name'],这是您的程序当前配置所期望的:

users_database = sys.argv[1]
users_table = sys.argv[2]

由于您以第一种方式调用它,因此 sys.argv[1] 不存在,并且您会收到索引 (1) 超出范围的错误(它只会变为 0 )。

关于python - 我不断得到列表超出范围尝试将 mysql 数据库转换为 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22774766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com