본문 바로가기

전체 글980

Python Argparse 선택적 위치 인수?, Argparse optional positional arguments? 질문 나는 다음과 같이 사용할 수 있는 스크립트가 있습니다: usage: installer.py dir [-h] [-v] dir은 다음과 같이 정의된 위치 인수입니다: parser.add_argument('dir', default=os.getcwd()) 나는 dir이 선택 사항이 되기를 원합니다: 지정되지 않은 경우에는 cwd가 되어야합니다. 불행히도, dir 인수를 지정하지 않으면 Error: Too few arguments가 발생합니다. 답변 nargs='?'를 사용하십시오. (nargs='?') (또는 nargs='*'을 사용하여 둘 이상의 디렉토리가 필요한 경우) parser.add_argument('dir', nargs='?', default=os.getcwd()) 확장된 예: >>> impor.. 2023. 6. 27.
Python 파이썬에서 특정 크기의 빈 리스트를 만드는 방법, Create an empty list with certain size in Python 질문 빈 목록을 만들고 10개의 요소를 보유하는 방법은 무엇인가요? 그 후에, 그 목록에 값을 할당하려고 합니다. 예를 들면: xs = list() for i in range(0, 9): xs[i] = i 하지만, 그것은 IndexError: list assignment index out of range을 반환합니다. 왜 그럴까요? Editor's note: 파이썬에서, 목록은 고정된 용량이 없습니다, 하지만 이미 존재하지 않는 요소에 할당하는 것은 불가능합니다. 여기에서 제시된 답변들은 나중에 대체할 10개의 "더미" 요소를 가진 목록을 생성하는 코드를 보여줍니다. 그러나 대부분의 초보자들은 이 문제를 마주할 때 요소를 추가하여 목록을 구축하고 싶어합니다. 이는 .append 메서드를 사용하여 수행해야.. 2023. 6. 27.
Python 가상환경에서 파이썬 3 사용하기, Using Python 3 in virtualenv 질문 virtualenv를 사용하여 프로젝트를 기본 Python 버전(2.7)으로 실행합니다. 하지만 하나의 프로젝트에서는 Python 3.4를 사용해야 합니다. Mac에서 brew install python3를 사용하여 Python 3.4를 설치했습니다. 이제 새 버전을 사용하는 가상 환경을 만드는 방법은 무엇인가요? 예를 들어, sudo virtualenv envPython3입니다. 만약 다음과 같이 시도한다면: virtualenv -p python3 test 다음과 같은 결과가 나타납니다: Running virtualenv with interpreter /usr/local/bin/python3 Using base prefix '/usr/local/Cellar/python3/3.4.0_1/Framew.. 2023. 6. 27.
Python 한달의 마지막 날짜를 가져옵니다., Get the last day of the month 질문 Python의 표준 라이브러리를 사용하여 주어진 월의 마지막 날짜를 쉽게 결정하는 방법이 있나요? 표준 라이브러리에서 지원하지 않는 경우, dateutil 패키지에서 이를 지원하나요? 답변 calendar.monthrange은 이 정보를 제공합니다: year와 month가 지정된 경우, 월의 첫 번째 날짜의 요일과 월의 일 수를 반환합니다. >>> import calendar >>> calendar.monthrange(2002, 1) (1, 31) >>> calendar.monthrange(2008, 2) # 윤년이 올바르게 처리됩니다 (4, 29) >>> calendar.monthrange(2100, 2) # 100으로 나누어 떨어지지만 400으로 나누어 떨어지지 않는 해는 윤년이 아닙니다 (0,.. 2023. 6. 27.
Python 파이썬 3에서 파일 내용을 처리할 때 'str'이 아닌 바이트 유사 객체가 필요합니다(TypeError: a bytes-like object is required, not 'str')., "TypeError: a bytes-like object is required, not 'str'" when handling file conten.. 질문 나는 매우 최근에 Python 3.5로 이전했다. 이 코드는 Python 2.7에서 제대로 작동했다: with open(fname, 'rb') as f: lines = [x.strip() for x in f.readlines()] for line in lines: tmp = line.strip().lower() if 'some-pattern' in tmp: continue # ... code 하지만 3.5에서 if 'some-pattern' in tmp: continue 라인에서 오류가 발생하여 다음과 같이 말합니다: TypeError: a bytes-like object is required, not 'str' 나는 in의 양쪽에 .decode()를 사용하여 문제를 해결할 수 없었으며, if tm.. 2023. 6. 27.
Python 그림 제목과 축 라벨의 글꼴 크기를 어떻게 설정하나요?, How do I set the figure title and axes labels font size? 질문 저는 이렇게 Matplotlib에서 그림을 만들고 있습니다: from matplotlib import pyplot as plt fig = plt.figure() plt.plot(data) fig.suptitle('test title') plt.xlabel('xlabel') plt.ylabel('ylabel') fig.savefig('test.jpg') 그림 제목과 축 레이블에 대한 글꼴 크기를 지정하고 싶습니다. 세 가지 모두 다른 글꼴 크기를 가져야 하므로 전역 글꼴 크기(mpl.rcParams['font.size']=x)를 설정하는 것은 원하는 대로 작동하지 않습니다. 그림 제목과 축 레이블에 대한 글꼴 크기를 개별적으로 설정하는 방법은 무엇인가요? 답변 텍스트를 다루는 함수들 (label, t.. 2023. 6. 27.
Python 주어진 디렉토리에서 파일을 반복하는 방법은 무엇인가요?, How can I iterate over files in a given directory? 질문 주어진 디렉토리 내에서 모든 .asm 파일을 반복하고 일부 작업을 수행해야합니다. 효율적인 방법으로 이를 어떻게 수행할 수 있을까요? 답변 위의 답변을 Python 3.6 버전으로, os를 사용하여 디렉토리 경로를 str 객체로 가정한 경우: import os directory = os.fsencode(directory_in_str) for file in os.listdir(directory): filename = os.fsdecode(file) if filename.endswith(".asm") or filename.endswith(".py"): # print(os.path.join(directory, filename)) continue else: continue 또는 pathlib을 사용하여 재.. 2023. 6. 27.
Python 오류: vcvarsall.bat을 찾을 수 없습니다., error: Unable to find vcvarsall.bat 질문 나는 Python 패키지 dulwich를 설치하려고 시도했습니다: pip install dulwich 하지만 알 수 없는 오류 메시지가 표시됩니다: error: Unable to find vcvarsall.bat 동일한 오류가 수동으로 패키지를 설치하려고 할 때도 발생합니다: > python setup.py install running build_ext building 'dulwich._objects' extension error: Unable to find vcvarsall.bat 답변 Update: 댓글에서 이 지침이 위험할 수 있다는 것을 지적합니다. Visual C++ 2008 Express 버전이나 목적에 맞게 제작된 Microsoft Visual C++ Compiler for Python.. 2023. 6. 26.