[python] Python TypeError : 형식 문자열에 대한 인수가 충분하지 않습니다.

출력은 다음과 같습니다. 이것들은 내가 믿는 utf-8 문자열입니다 …이 중 일부는 NoneType 일 수 있지만 그 전에는 실패합니다 …

instr = "'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % softname, procversion, int(percent), exe, description, company, procurl

TypeError : 형식 문자열에 대한 인수가 충분하지 않습니다.

그래도 7은 7입니까?



답변

%문자열 형식을 지정 하는 구문이 오래되었습니다. 파이썬 버전에서 지원한다면, 다음과 같이 작성해야합니다 :

instr = "'{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}'".format(softname, procversion, int(percent), exe, description, company, procurl)

또한 발생한 오류를 수정합니다.


답변

형식 인수를 튜플에 넣어야합니다 (괄호 추가).

instr = "'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % (softname, procversion, int(percent), exe, description, company, procurl)

현재 가지고있는 것은 다음과 같습니다.

intstr = ("'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % softname), procversion, int(percent), exe, description, company, procurl

예:

>>> "%s %s" % 'hello', 'world'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
>>> "%s %s" % ('hello', 'world')
'hello world'


답변

%형식 문자열에서 백분율 문자로 사용할 때 동일한 오류가 발생 했습니다. 이에 대한 해결책은를 두 배로 늘리는 것 %%입니다.


답변