본문 바로가기

분류 전체보기980

Python 파일 출력과 함께 디렉토리 자동 생성하기 [중복], Automatically creating directories with file output [duplicate] 질문 파일을 만들고 싶다고 가정해 봅시다: filename = "/foo/bar/baz.txt" with open(filename, "w") as f: f.write("FOOBAR") 이렇게 하면 IOError가 발생합니다. 왜냐하면 /foo/bar가 존재하지 않기 때문입니다. 이러한 디렉토리를 자동으로 생성하는 가장 파이썬다운 방법은 무엇인가요? 모든 디렉토리에 대해 명시적으로 os.path.exists와 os.mkdir를 호출해야 할 필요가 있을까요? (예: /foo, 그리고 /foo/bar) 답변 Python 3.2+에서는 OP가 요청한 API를 사용하여 다음을 우아하게 할 수 있습니다: import os filename = "/foo/bar/baz.txt" os.makedirs(os.path.di.. 2023. 10. 13.
Python 두 개의 마커 사이의 부분 문자열을 추출하는 방법은 무엇인가요?, How to extract the substring between two markers? 질문 어떤 문자열 'gfgfdAAA1234ZZZuijjk'이 있다고 가정하고, '1234' 부분만 추출하고 싶습니다. AAA 바로 전에 있는 몇 개의 문자만 알고 있으며, ZZZ 이후에는 1234와 같이 관심 있는 부분입니다. sed를 사용하면 다음과 같이 문자열에 대해 작업할 수 있습니다: echo "$STRING" | sed -e "s|.*AAA\(.*\)ZZZ.*|\1|" 이렇게 하면 결과로 1234를 얻을 수 있습니다. Python에서는 어떻게 같은 작업을 수행할 수 있을까요? 답변 정규 표현식을 사용하여 - 문서를 참조하세요 import re text = 'gfgfdAAA1234ZZZuijjk' m = re.search('AAA(.+?)ZZZ', text) if m: found = m.group.. 2023. 10. 13.
Python 파이썬에서 ++와 -- 연산자가 없는 이유는 무엇인가요?, Why are there no ++ and --​ operators in Python? 질문 파이썬에는 왜 ++ 및 -- 연산자가 없는 것인가요? 답변 그것은 이해가 안 되는 것이 아니라 "x++"를 "x += 1로 정의하고, x의 이전 바인딩으로 평가한다"는 것이 완전히 이해됩니다. 원래 이유를 알고 싶다면 옛날 파이썬 메일링 리스트를 살펴보거나 그곳에 있던 사람(예: Guido)에게 물어봐야하지만, 사실 이후에는 충분히 정당화할 수 있습니다: 간단한 증가 및 감소는 다른 언어보다 그렇게 많이 필요하지 않습니다. 파이썬에서는 for(int i = 0; i < 10; ++i)과 같은 것을 많이 사용하지 않고, 대신 for i in range(0, 10)과 같은 것을 사용합니다. 거의 필요하지 않기 때문에 이를 위해 특별한 구문을 제공하는 것에 대한 이유가 훨씬 적습니다. 증가가 필요한 경우.. 2023. 10. 13.
로컬 파일 시스템 폴더에서 가상 환경에 pip을 사용하여 Python 패키지를 설치합니다., Installing Python packages from local file system folder to virtualenv with pip 질문 파일 시스템에서 pip를 사용하여 패키지를 설치할 수 있을까요? 제 패키지에 대해 python setup.py sdist를 실행하여 적절한 tar.gz 파일을 생성했습니다. 이 파일은 시스템의 /srv/pkg/mypackage/mypackage-0.1.0.tar.gz에 저장되어 있습니다. 이제 가상 환경에서 pypi에서 오는 패키지 또는 특정 로컬 위치인 /srv/pkg에서 패키지를 설치하고 싶습니다. 이게 가능한가요? 참고 pip install /srv/pkg/mypackage/mypackage-0.1.0.tar.gz를 지정할 수 있다는 것을 알고 있습니다. 그렇게 하면 작동하지만 pip install mypackage를 입력했을 때 pip가 검색할 수 있는 다른 위치로 /srv/pkg를 사용하고.. 2023. 10. 13.