我正在编写一个脚本,在我的脚本中,我具有以下功能:

def insert_image(cursor, object_id, sku):

product_obj = core.Object.get(object_id)

string_sku = str(sku)

folder = string_sku[0] + string_sku[1] + string_sku[2]

found_url = False

# KLUDGE This is ugly and redundant, however putting this in an if elif elif else throws error when url not found

# try this url first

try urllib.urlopen("http:///%s/%sPR-IT,PM.jpg" % (folder, sku)):

urllib.URLopener().retrieve("http:///%s/%sPR-IT,PM.jpg" % (folder, sku), "%sPR-IT,PM.jpg" % (sku))

found_url = True

except:

found_url = False

# If that one didn't work try this one

if found_url == False:

try urllib.urlopen("http:///%s/%sPK-PT,PM.jpg" % (folder, sku)):

urllib.URLopener().retrieve("http:///%s/%sPK-PT,PM.jpg" % (folder, sku), "%sPK-PT,PM.jpg" % (sku))

found_url = True

except:

found_url = False

# If still nothing, one last attempt

if found_url == False:

try urllib.urlopen("http:///%s/%sCC-PT,IM.jpg" % (folder, sku)):

urllib.URLopener().retrieve("http:///%s/%sCC-PT,IM.jpg" % (folder, sku), "%sCC-PT,IM.jpg" % (sku))

found_url = True

except:

found_url = False

# We failed to find an image for this product, it will have to be done manually

if found_url == False:

log.info("Could not find the image on notions")

return False

# Hey we found something! Open the image....

send_image = open('%sPK-PT,PM.jpg' % sku, 'r')

# ...and send it for processing

if product_obj.set_image(send_image, 5, 1) == False:

return False

else:

log.debug("Inserted Image")

return True

在我添加尝试捕获之前,此方法运行良好。 我确实有if,elif函数运行得很好。 这是我的电话以及在它之前运行的代码的优美之处:

if rollback == False:

# Nah -- it's all good SAVE IT!

count += 1

log.debug("INSERT %s" % count)

conn.commit()

else:

# Yeah something went wrong, errors reported why, roll it back

conn.rollback()

log.debug("skipped %s" % skip_count)

# Insert images

if rollback == False:

sku = row[0]

if insert_image(cursor, object_id, sku) == False:

log.error("Could not get the image inserted for product: %s" % object_id)

conn.rollback()

else:

conn.commit()

我的错误是:

16:33:46,153 DEBUG [pylons-admin] Inserted Description

16:33:46,164 DEBUG [pylons-admin] Inserted Attributes

16:33:46,164 DEBUG [pylons-admin] INSERT 1

Traceback (most recent call last):

File "", line 47, in

NameError: name 'insert_image' is not defined

我不知道第47行是什么意思,因为该调用位于第2101行,在我添加尝试之前,它再次发现该函数很好。 当我像现在看到的那样添加尝试时,我还将第一个提交切换到insert_image调用之前,而在我们调用insert_image之后则提​​交之前。 我检查了缩进,空格和制表符w /无济于事。

我使用TextMate,当我从TextMate运行脚本时,在这里出现语法错误:

try urllib.urlopen("http:///%s/%sPR-IT,PM.jpg" % (folder, sku)):

它指向(上的(文件夹。。。但是我看不到语法错误。请帮忙。我已经在这个脚本上工作了几周了,这应该是最后一次运行测试并称其为:(

python定义了函数却显示未定义_python相关推荐

  1. python中调用函数时必须有实参_Python之函数(一)定义函数以及传参

    定义函数以及传参 函数的定义 def 函数名(): 函数体 例子: def func():#def关键字--定义 func函数名--和变量定义规则一样 ()必须要写格式 :声明 语句结束 s=[1,2 ...

  2. python输入python显示未定义_python 未定义

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! sdk 3.0 实现了统一化,各个语言版本的 sdk具备使用方法相同.接口调用方 ...

  3. html显示未定义,未定义的引用怎么解决

    对CUDA实现的函数未定义的引用问题,怎么解决 原因有多种多样的: (1)其中常见的一种是,32 * 32 = 1024线程的block大小,超出了贵卡的能力范围. (需要fermi+的,请告知一下你 ...

  4. Python程序的错误:变量未定义(NameError: name ‘mesage’ is not defined.)

    Python程序的错误种类 Python程序的错误分两种.一种是语法错误(syntax error).这种错误是语句的书写不符合Python语言的语法规定.第二种是逻辑错误(logic error). ...

  5. html显示未定义,(X)HTML中的未定义行为?

    这比检查 Yi Jiang和 mu is too short给出的DTD稍微复杂一些. 的确,XHTML 1.0 DTD明确禁止< a>元素作为< button>元素在您的问题 ...

  6. matlab 中数据未定义,matlab总是出现参数未定义

    matlab 曲线拟合参数 1.你给的数据有问题,t有11个点,而R只有10个点.暂按照删去t的最后一个点考虑.2.拟合和很多因素有关,比如初值.拟合函数的选择.算法设置等.3.按现有程序拟合的结果: ...

  7. 用python内置函数算复杂度吗_Python减少代码量的两个内置函数

    Python减少代码量的两个内置函数 前言 Python中内置了几个非常好用的函数. 当你掌握了这几个函数的用法后,有些场景下,不用自己去实现多余的冗余代码编写,只需要调用这些函数,便能很简短的帮你实 ...

  8. python内置函数可以返回列表元组_Python内置函数()可以返回列表、元组、字典、集合、字符串以及range对象中元素个数....

    Python内置函数()可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. 青岛远洋运输有限公司冷聚吉船长被评为全国十佳海员.()A:错B:对 有源逆变是将直流电逆变成其它频率的交流 ...

  9. python内置函数( )可以返回列表长度_python(内置函数)

    一.python内置函数 1.id()返回对象的内存地址 a = 1 print id(a) print id(1) 2.int()用于将数据类型转换为整型 a = "1" b = ...

最新文章

  1. 电源完整性仿真让电路板更完美
  2. Stanford UFLDL教程 栈式自编码算法
  3. oracle管理mysql_oracle表管理
  4. 多点子接口的帧中继配置(MP SubInterface FrameRealy)
  5. 低代码这么火,它的人才认证你考了吗?
  6. 第03讲. 原理探究,了解爬虫的基本原理
  7. Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方。
  8. pycharm远程连接服务器(docker)调试+ssh连接多次报错
  9. ORA-00257归档日志写满的解决方法
  10. python 字符串 string模块导入及用法
  11. 用火箭送快递?淘宝宣布联合蓝箭航天起启动“宝箭”计划
  12. PYTHON处理MOD/MYD11(LST)产品
  13. 第2章——R的数据组织
  14. Visual Studio 2017 激活密钥 [复制记录]
  15. 关于计算机网络ppt背景图片,windows10设置幻灯片播放式背景桌面图文教程
  16. 外观模式——透过现象看本质
  17. Unity-黑暗之魂复刻-跳跃功能
  18. Ubuntu nautilus 快速打开文件浏览器
  19. 第九章-项目资源管理
  20. 芯片模型算力指标TOPS FLOPS MAC MACC MADD关系

热门文章

  1. java 序列化声明_显式声明默认Java类序列化方法的原因是什么?
  2. python递归 数字全排列_利用递归实现全排列(python)
  3. 300小时成为java程序员_直击面试现场: Java程序员3轮6小时面试, 成功拿到阿里offer!...
  4. mysql存储map数据结构_map数据结构
  5. springboot设置默认值_线上Bug无法复现?老司机教你一招,SpringBoot远程调试不用愁!...
  6. 列表生成式(List)
  7. Problem B: 求各位数字之和
  8. 基于百度语音识别API的Python语音识别小程序
  9. Linux-实用快捷键操作
  10. JAVA设计模式--简单介绍