基本上,这是我的代码格式:
class SomeClass():
# RegEx to remove all non-alphanumeric characters from a string
def alphaNum(original):
return str(re.sub(r'[^a-zA-Z0-9]','', original))
# Write to xlsx file =====================================================
def write(self):
#CODE###
uglyString = 'asasdf-)aws'
print alphaNum(uglyString)
#I've also tried calling self.alphaNum(uglyString), for what it's worth
当我从另一个文件调用 write 时,我得到“未定义全局名称'alphaNum'”(细节省略,但我知道打印语句是错误发生的地方)
我很肯定我忽略了一些愚蠢的东西,我(喜欢认为我)很好地处理范围,在使用它们之前定义事物等等。
编辑:
谢谢你们的帮助!我最终只是将 alphaNum() 移到了课堂之外。对于那些感兴趣的人,这样做的实际目的是处理 Amazon 用于 CloudFormation 的 boto 接口的怪癖。它会愉快地返回带有“-”的资产 id 值,然后抱怨模板中没有任何值。这就是生活...