development

ValueError : 파이썬 형식의 길이가 0 인 필드 이름

big-blog 2020. 12. 3. 08:08
반응형

ValueError : 파이썬 형식의 길이가 0 인 필드 이름


중복 가능성 :
Python 3.0,3.1,3.2에서 "ValueError : 형식의 길이가 0 인 필드 이름"오류

이 문제를 해결하기 위해 몇 시간을 보냈지 만 아무 소용이 없습니다. 나는 이 가이드를 읽었다 . 필요한 작업을 수행하는 방법에 대한 예를 찾지 못했습니다.

스크립트를 실행할 때이 오류가 발생합니다 (일부 생략 됨).

Traceback (...):
   [...]
   output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y))
ValueError: zero length field name in format.

코드는 python 2.6 또는 2.7로 작성되었지만 python 3.1을 실행합니다. 작동하도록 출력 형식을 어떻게 변경해야합니까?

def f(x,y,a = 0.01):
    return y/(a+x)-y**3

def ekspEuler(N,dat):
    output = open(dat,"w")
    h = 3.0/N
    x,y = 0,1 #zac.pogoj

    for i in range(1,N+2):
        output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y))
        y += h*f(x,y)
        x = i*h
    output.close()

당신의 도움을 주셔서 감사합니다.


3.1이 아닌 이전 Python 버전을 실행하고있을 가능성이 있습니다. Python 2.6에서는 다음과 같은 형식 사양의 색인이 필요합니다.

"{0} {1}\n".format(x,y)

Python 버전을 최신 버전 (가급적 2.7 또는 3.2)으로 업데이트하여 문제를 해결하십시오. 문서에 따르면 숫자 인덱스를 생략하면 Python 3.1에서 작동합니다 .

버전 3.1에서 변경 : 위치 인수 지정자는 생략 될 수 있으므로 '{} {}'는 '{0} {1}'와 동일합니다.

참고 URL : https://stackoverflow.com/questions/10054122/valueerror-zero-length-field-name-in-format-python

반응형