桥南玄机子 2018-12-14 09:17 采纳率: 0%
浏览 2880

为啥python代码突然卡住,然后按ctrl+c后又可以继续运行?

最近在做一个测试,往oracle数据库中塞20W的数据。 同时每塞1W条数据就打印一个日志到控制台。
代码如下:

import cx_Oracle
import time

consql = 'user/passwd@192.168.0.3/orcl'
oracon = cx_Oracle.connect(consql)
oracur = oracon.cursor()

laststamp = time.time()

for i in range(200000):
    if i % 10000 == 0:
        curstamp = time.time()
        print 'commit count :', i, 'cost:',curstamp - laststamp
        laststamp = curstamp
    sqlstr = "insert into T_ZB_TEST (xh, xm) values ('%d','%d')"%(i,i)
    oracur.execute(sqlstr)
    oracon.commit()

oracon.close()

结果在跑的时候,跑到5W条的时候就卡住了,在数据库中搜索一直是5W条数据,程序也没有异常也没有停止,我按了一下ctrl+c,程序又继续往下执行写数据了。 打印如下,可以很明显的看出写入一万条数据花费的时间在140秒左右,而那么明显超过140秒的就是我发现了异常,然后按了ctrl+c后的结果。

commit count : 0 cost: 0.0150001049042
commit count : 10000 cost: 141.917999983
commit count : 20000 cost: 142.936999798
commit count : 30000 cost: 146.870000124
commit count : 40000 cost: 135.5
commit count : 50000 cost: 143.559000015
commit count : 60000 cost: 870.066999912
commit count : 70000 cost: 205.25
commit count : 80000 cost: 157.353000164
commit count : 90000 cost: 138.504999876
commit count : 100000 cost: 139.806999922
commit count : 110000 cost: 141.4150002
commit count : 120000 cost: 436.0849998
commit count : 130000 cost: 143.148000002
commit count : 140000 cost: 139.263000011
commit count : 150000 cost: 135.034000158
commit count : 160000 cost: 137.210999966

不知道这个是否是python语言本身的问题。 使用的python版本是2.7.13.

  • 写回答

3条回答 默认 最新

  • hnnycmr 2020-10-26 15:50
    关注

    一般cmd窗口启动了快速编辑模式,不小心点到窗口了

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?