我有代碼問題。我寫了一個函數來提取一個參數,通過發送原始字符串,前/後文本片段以及文本中出現的次數。當我在簡單的代碼寫它的工作很大:代碼獨立運行良好,但功能顯示錯誤
searchstr = 'qwer1234asdfqwer5678asdfqwer1234asdfqwer5678asdf'
startstr = 'qwer'
endstr = 'asdf'
occurancenr = 4
start = searchstr.find(startstr)
print 'start = ' + str(start)
while start >= 0 and occurancenr > 1:
start = searchstr.find(startstr, start + len(startstr))
occurancenr -= 1
print 'start = ' + str(start) + ', and nr = ' + str(occurancenr)
start = start + len(startstr)
end = searchstr.index(endstr, start)
print 'result = ' + searchstr[start:end]
但是,當我把它放在返回字符串的方法,我得到錯誤:
繼承人的功能:
def findparam (self, searchstr, startstr, endstr, occurancenr):
start = searchstr.find(startstr)
while start >= 0 and occurancenr > 1:
start = searchstr.find(startstr, start + len(startstr))
occurancenr -= 1
start = start + len(startstr)
end = searchstr.index(endstr, start)
return 'result = ' + searchstr[start:end]
這裏是調用它:
abc = 'qwer1234asdfqwer5678asdf'
aa = 'qwer'
bb = 'asdf'
print self.findparam(abc, aa, bb, 1)
錯誤看起來是這樣的:
SyntaxError: ('invalid syntax', ('C:\\grinder-3.4\\scripts\\ResultCheckMerged.py', 367, 3, ' start = searchstr.find(startstr)'))
(no code object) at line 0
從技術上講,這是一個grinder腳本運行的函數,比較器使用jython,但是,由於沒有使用java代碼及其只是python代碼,我認爲這是一個python問題。但是,也許這與此有關。
對此有任何提示讚賞!
只要注意 - 從[PEP 8](http://www.python.org/dev/peps/pep-0008/): 「使用每一級縮進4個空格」 :) – demalexx 2012-01-18 10:20:20