我正在编写一个Python脚本,它将文件从一个目录复制到另一个目录,并将该文件名复制到doc档案PostgreSQL表中。我收到的错误如下:
Camt'不止一次在命名游标上调用excute()
以下是我的代码:
cursor = conn.cursor('cur', cursor_factory=psycopg2.extras.DictCursor)
cursor.execute('SELECT * FROM doc_archive.table LIMIT 4821')
row_count = 0
for row in cursor:
row_count += 1
print "row: %s %s\r" % (row_count, row),
pathForListFiles = srcDir
files = os.listdir(pathForListFiles)
for file in files:
print file
try:
# Perform an insert with the docid
cursor.execute("INSERT INTO doc_archive.field_photo_vw VALUES)
答案 0 :(得分:1)
这是实际的代码吗?你在第二次执行中得到了无与伦比的报价。
在迭代结果时,我通常使用
for var in range(int(cursor.rowcount)):
row = cursor.fetchone()
没有麻烦。
for var in cursor:
对我来说似乎不对。
results = cur.fetchall()
for var in enumerate(results):
那里基本上是一回事。但是,如果在迭代第一组结果时必须执行另一个执行,则允许您关闭光标。通常我只是在那些实例中声明另一个游标。
在任何一种情况下,您当前的代码似乎都没有获取执行结果。如果您需要处理该数据,这一点很重要。