0

我正在编写一个 Python 脚本,它将文件从一个目录复制到另一个目录,并将该文件名复制到一个文档存档 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)
4

1 回答 1

1

这是实际的代码吗?您在第二次执行中获得了无与伦比的报价。

遍历结果时,我通常使用

for var in range(int(cursor.rowcount)):
    row = cursor.fetchone()

没有麻烦。

for var in cursor: 

对我来说似乎是错误的。

results = cur.fetchall()
for var in enumerate(results):

那里基本上是一样的。但是如果您在迭代第一组结果时必须执行另一次执行,则允许您关闭光标。通常我只是在这些情况下声明另一个游标。

无论哪种情况,您当前的代码似乎都没有获取执行结果。如果您需要处理该数据,这一点很重要。

于 2012-04-25T15:35:35.273 回答