그래서이 메소드는 일부 html 데이터와 이미지 링크를 추출하고이를 미리 만들어진 템플릿으로 구성한 다음 webbrowser.open을 통해 나에게 보여 주거나 전체를 반환합니다 html 코드를 문자열로 사용합니다 (외부 프로그램에 사용되는 경우)TypeReq를 전달하려고 할 때 * args가 re.findall로 전달됩니다.
이전에는이 함수를 내부적으로 호출하고 url을 수동으로 입력 했으므로 매번 템플릿이 성공적으로 만들어졌습니다. 이제 re.findall()은 튜플 * args를 허용하지 않고 어떤 시도를했는지 (''.join, '{}'.format(tup), repr(), str()
) 아무 것도 작동하지 않았습니다. Python 2.7.12 사용하기. 그래서 기본적으로 내 질문은 create_template()에 * args (항상 문자열이 될 것입니다)를 전달하는 것입니다.
def create_template(*args):
p = re.compile('(?<=\/)[0-9]+|[0-9]+(?!.)')
if args:
argstring = '{}'.format(args)
itemID = re.findall(p,argstring)[0]
new_html = change_links(itemID)
info = get_walmart_info(itemID)
template = finish_template(new_html,info)
webbrowser.open('finished wtemplate.html')
return template
else:
url = raw_input("Enter itemID/url: ")
itemID = re.findall(p,url)[0]
new_html = change_links(itemID)
info = get_walmart_info(itemID)
finish_template(new_html,info)
webbrowser.open('finished wtemplate.html')
if __name__ == '__main__':
create_template()
내가지고있어 오류 (외부에서 사용할 때, 여전히 잘 내부) :
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
wTemplate.create_template('37651390')
File "C:\Users\User\Desktop\Gal\Programming\wTemplate.py", line 91, in create_template
argstring = '{}'.format(*args)
File "C:\Python27amd64\lib\re.py", line 181, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
전달할 인수는 무엇입니까? –
오류와 코드가 일치하지 않는 것 같습니다. –
예제 입력과 예상 출력을 제공 할 수 있습니까? 'create_template()'이해야 할 일이 무엇인지 분명하지 않다. –