我有这门课
class SECHeader(object):
def __init__(self,header_path):
self.header = open(header_path).read()
我在这个类中有一些方法,我尝试做的方法之一需要解析名称
def parsed_name(self):
return header_path.split('-')[-1]
如果在我的代码中我使用名称 header_path 来识别我要操作的东西,这很好用
for header_path in header_paths:
header = SECHeader(header_path)
print header.parsed_name()
但如果我改名
for named_path in header_paths:
header = SECHeader(named_path)
print header.parsed_name()
我得到一个名称错误
我玩过 - 只要我为要处理的对象使用相同的名称,如果可以在 parsed_name 函数中为对象使用任何名称,但我似乎无法弄清楚如何命名它,因此用户没有使用我的命名方案
特别是如果我将 parsed_name 函数更改为
def parsed_name(self):
return banana.split('-')[-1]
如果在我的循环中将其更改为
for banana in header_paths:
header = SECHeader(banana)
print header.parsed_name()
它就像一个魅力,但这限制了我正在研究的这个东西的便携性。因为任何用户都必须使用我在函数中使用的任何标签来引用路径。