基本的に、私のコードの形式は次のとおりです。
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 を呼び出すと、「global name 'alphaNum' is not defined」が表示されます (詳細は省きますが、print ステートメントでエラーが発生することはわかっています)。
私は何かばかげたことを見落としていると確信しています.私は(私がそう思いたいのですが)スコープをうまく扱い、使用する前に物事を定義しています.
編集:
助けてくれてありがとう!クラスの外に alphaNum() を移動するだけになりました。興味のある方のために説明すると、これの実際の目的は、CloudFormation 用の Amazon の boto インターフェイスの癖に対処することです。'-' を含むアセット ID 値を喜んで返し、テンプレートに値を含めることができないと文句を言います。それが人生だ...