728x90
비슷한 에러 : ValueError: cannot switch from automatic field numbering to manual field specification
python format을 사용할 때 발생할 수 있는 에러이다.
print('{}{}{1}'.format('1','2','3'))
format 사용법
이는 format 자릿수 때문인데 format을 사용할 때 2가지 방법으로 사용할 수 있다.
print('{}{}{}'.format('1','2','3'))
print('{}{}{}{}'.format('1','2','3'))
{}의 개수와 파라미터 개수가 같아야하며 다르면 위와 같은 에러가 발생한다.
print('{2}{0}{1}'.format('1','2','3'))
위는 자리수를자릿수를 지정해주지 않고 들어온 순서대로 쓰는 방법이고 아래는 자릿수를 지정하여 변수를 재사용할 수 있다. 이 경우에는 파라미터 개수와 {}의 개수가 달라도 상관없다.
print('{2}{0}{1}{0}'.format('1','2','3'))
해결
이 2가지 방법은 혼합하여 사용할 수 없고 번호를 지정해주던가 지정하지 말고 사용해야 한다.
print('{}{}{1}{}'.format('1','2','3'))
ValueError: cannot switch from automatic field numbering to manual field specification
다음과 같이 혼합하여 사용하면 위의 에러가 발생한다.
728x90
'ERROR' 카테고리의 다른 글
[Python] AttributeError: module 'math' has no attribute 'lcm' (0) | 2023.03.08 |
---|---|
[Ubuntu] su: Authentication failure (0) | 2023.03.07 |
[Git] failed to push some refs to [URL] (0) | 2023.02.06 |
[Git] The requested URL returned error: 400 (0) | 2023.02.06 |
[Colab] 디렉토리 관련 에러 (0) | 2023.01.16 |