방금 Python으로 코딩하는 법을 배우기 시작했고 Cześć <input>
을 반환하는 간단한 Python 프로그램이 있습니다. <input>
은 사용자가이 Python 프로그램의 매개 변수로 CMD에 입력 할 수있는 이름입니다. 입력이 없으면 Cześć Świat
을 반환합니다. 그것은 잘 작동하지만, 예를 들어 Łukasz
이름을 입력하면 Ł
에서 스트라이크가 제거되고 프로그램은 Cześć Łukasz
대신 Cześć Lukasz
을 반환합니다.폴란드어 문자를 CMD에 파이썬 매개 변수로 입력하는 방법은 무엇입니까?
Windows CMD에서는 CD 명령을 사용하여 Python 프로그램이 들어있는 폴더로 이동했습니다. 여기에 문을 사용하여 Python 프로그램을 실행합니다 : hello.py Łukasz
.
:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
# Define a main() function that prints a little greeting.
def main():
# Get the name from the command line, using 'World' as a fallback.
if len(sys.argv) >= 2:
name = sys.argv[1].decode('cp1252')
else:
name = u'Świat'
str = u'Cześć '+name
print str.encode('utf-8')
# This is the standard boilerplate that calls the main() function.
if __name__ == '__main__':
main()
원래 나는 utf-8
으로 sys.argv[1]
을 디코딩,하지만 난 편지 Óó
을 사용할 때 어떻게 든 (this SO answer 참조) 못생긴 예외를 던질 것입니다. utf-8
또는 cp1252
을 사용하면 utf-8
과 함께 해당 문자를 사용하면 이전에 언급 된 예외가 발생했기 때문에 을 사용할 때 악센트를 유지하는 문자 Óó
을 제외하고 폴란드 문자 (예 : Ć Ń Ń Ż Ź))가 악센트를 제거합니다.
제 질문은 어떻게 필자의 파이썬 프로그램에서 사용하기 위해 악센트 부호가있는 악센트 부호를 검색 할 수 있습니까?
나는 악센트를 제거하거나 무시할 것을 제안하는 답변을 수락하지 않겠습니다!
와우 ... 파이썬 3은'u'some string''과 디코드/인코딩을 더 이상 필요로하지 않습니다. 단지 발음 구별 부호를 사용하고 있습니다. 고맙습니다 :) – Teysz