728x90
반응형

Python 324

현재 Python 버전 확인하기

질문 : 어떤 버전의 Python을 설치 했습니까? Windows 서버에서 Python 스크립트를 실행해야합니다. 내가 가지고있는 Python의 버전을 어떻게 알 수 있으며 실제로 중요합니까? 최신 버전의 Python으로 업데이트 할 생각이었습니다. 답변 python -V http://docs.python.org/using/cmdline.html#generic-options --version 도 작동 할 수 있습니다 (버전 2.5에서 도입 됨). 출처 : https://stackoverflow.com/questions/8917885/which-version-of-python-do-i-have-installed

파이썬에서 문자열을 소문자로 바꾸는 방법

질문 : 파이썬에서 문자열을 어떻게 소문자로 바꾸나요? 문자열을 대문자 또는 일부 대문자에서 소문자로 변환하는 방법이 있습니까? 예 : "Kilometers" → "kilometers". 답변 .lower() 사용-예 : s = "Kilometer" print(s.lower()) 공식 2.x 문서는 여기에 있습니다 : str.lower() 공식 3.x 문서는 여기에 있습니다 : str.lower() 출처 : https://stackoverflow.com/questions/6797984/how-do-i-lowercase-a-string-in-python

파이썬 프로그램 실행 시간을 확인하는 방법

질문 : 파이썬 프로그램 실행 시간을 어떻게 얻습니까? 완료하는 데 시간이 걸리는 Python 명령 줄 프로그램이 있습니다. 달리기를 마치는 데 걸리는 정확한 시간을 알고 싶습니다. timeit 모듈을 살펴 보았지만 작은 코드 스 니펫만을위한 것 같습니다. 전체 프로그램의 시간을 측정하고 싶습니다. 답변 Python에서 가장 간단한 방법 : import time start_time = time.time() main() print("--- %s seconds ---" % (time.time() - start_time)) 프로그램을 실행하는 데 최소 1/10 초가 걸린다고 가정합니다. 인쇄물: --- 0.764891862869 seconds --- 출처 : https://stackoverflow.com/qu..

파이썬 종료 명령의 종류와 각각의 차이점

질문 : 파이썬 종료 명령-왜 그렇게 많이 그리고 언제 각각을 사용해야합니까? 파이썬은 스크립트 실행을 중지하기 위해 다양한 명령을 지원하는 것 같습니다. 내가 찾은 선택은 quit() , exit() , sys.exit() , os._exit() 내가 놓친 것이 있습니까? 그들 사이의 차이점은 무엇입니까? 언제 각각을 사용 하시겠습니까? 답변 그들에 대한 몇 가지 정보를 제공하겠습니다. quit() 단순히 SystemExit 예외를 발생시킵니다. 또한 인쇄하면 다음 메시지가 표시됩니다. >>> print (quit) Use quit() or Ctrl-Z plus Return to exit >>> 이 기능은 Python을 모르는 사람들을 돕기 위해 포함되었습니다. 결국 초보자가 파이썬을 종료하려고 할 가..

파이썬에서 case / switch 문을 사용하는 방법

질문 : case / switch 문에 해당하는 Python은 무엇입니까? 알고 싶습니다. VB.net 또는 C #에서 사용 가능한 예제와 같은 case 문에 해당하는 Python이 있습니까? 답변 Python 3.10 이상 Python 3.10에서는 패턴 매칭을 도입하였다. 파이썬 설명서의 예: def http_error(status): match status: case 400: return "Bad request" case 404: return "Not found" case 418: return "I'm a teapot" case _: return "Something's wrong with the internet" Python 3.10 이전 버전 공식 문서 는 스위치를 제공하지 않는 것이 기쁘지만 사..

PyPy가 6.3 배 빠르면 CPython보다 PyPy를 사용하면 안되는 이유

질문 : PyPy가 6.3 배 빠르면 CPython보다 PyPy를 사용하면 안되는 이유는 무엇입니까? PyPy 프로젝트에 대해 많이 들었습니다. 그들은 그것이 그들의 사이트 에 있는 CPython 인터프리터보다 6.3 배 빠르다고 주장합니다. Python과 같은 동적 언어에 대해 이야기 할 때마다 속도는 가장 중요한 문제 중 하나입니다. 이를 해결하기 위해 PyPy가 6.3 배 더 빠르다고 말합니다. 두 번째 문제는 병렬성, 악명 높은 GIL (Global Interpreter Lock )입니다. 이를 위해 PyPy는 GIL-less Python을 제공 할 수 있다고 말합니다. PyPy가 이러한 큰 과제를 해결할 수 있다면 더 많은 채택을 방해하는 약점은 무엇입니까? 즉, 일반적인 Python 개발자 인..

파이썬의 print 기능을 화면에 강제로 출력하는 방법

질문 : 인쇄 기능의 출력을 어떻게 플러시 할 수 있습니까? 파이썬의 print 기능을 화면에 강제로 출력하려면 어떻게해야합니까? 답변 Python 3에서 print flush 인수를 사용할 수 있습니다. print("Hello, World!", flush=True) Python 2에서는 다음을 수행해야합니다. import sys sys.stdout.flush() print 호출 후. 기본적으로 print 는 sys.stdout 인쇄합니다 (파일 객체에 대한 자세한 내용은 설명서 참조). 출처 : https://stackoverflow.com/questions/230751/how-can-i-flush-the-output-of-the-print-function

Python logger가 로그 파일 외에도 모든 메시지를 stdout에 출력하도록 만들기

질문 : Python 로거가 로그 파일 외에도 모든 메시지를 stdout에 출력하도록 만들기 logging 모듈을 사용하여 파이썬 로깅을 만드는 방법이 있습니까? 가야 할 로그 파일 외에도 stdout에 자동으로 출력하는 방법이 있습니까? 예를 들어, logger.warning , logger.critical , logger.error 에 대한 모든 호출이 의도 한 위치로 이동하고 또한 항상 stdout 복사되기를 바랍니다. 이는 다음과 같은 메시지가 중복되지 않도록하기위한 것입니다. mylogger.critical("something failed") print "something failed" 답변 모든 로깅 출력은 핸들러에 의해 처리됩니다.logging.StreamHandler() 를 루트 로거에 추..

Python 람다(lambda)가 유용한 이유

질문 : Python 람다가 유용한 이유는 무엇입니까? 파이썬 람다를 알아 내려고합니다. 람다는 실생활에서 잊혀져 야하는 "흥미로운"언어 항목 중 하나입니까? 필자는 그것이 필요할 수있는 몇 가지 극단적 인 경우가 있다고 확신하지만, 모호함을 감안할 때 향후 릴리스에서 재정의 될 가능성 (다양한 정의에 기반한 내 가정) 및 감소 된 코딩 명확성-그럴 경우 피할 수 있습니까? 이것은 C 유형의 오버플로 (버퍼 오버플로)를 상기시킵니다. 상위 변수를 가리키고 다른 필드 값을 설정하기 위해 오버로딩합니다. 일종의 기술 쇼맨십처럼 느껴지지만 유지 보수 코더는 악몽입니다. 답변 람다 함수 에 대해 이야기하고 있습니까? 처럼 lambda x: x**2 + 2*x - 5 이러한 것들은 실제로 매우 유용합니다. 파이썬..

두개의 list를 병렬로 반복하는 방법

질문 : 두 목록을 병렬로 반복하는 방법은 무엇입니까? 파이썬에 두 개의 반복 가능 항목이 있으며 쌍으로 살펴보고 싶습니다. foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print("f: ", f, "; b: ", b) 결과는 다음과 같습니다. f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 이를 수행하는 한 가지 방법은 인덱스를 반복하는 것입니다. for i in range(len(foo)): print("f: ", foo[i], "; b: ", bar[i]) 그러나 그것은 나에게 다소 비정상적인 것처럼 보입니다. 더 나은 방법이 있습니까? 답변 Python 3 for f, b in zip(foo, bar): ..

개발관련/other 2021.11.01

파이썬에서 명시 적으로 메모리를 해제하는 방법

질문 : 파이썬에서 명시 적으로 메모리를 해제하려면 어떻게해야합니까? 저는 삼각형을 나타내는 수백만 개의 객체를 생성하기 위해 큰 입력 파일에서 작동하는 Python 프로그램을 작성했습니다. 알고리즘은 다음과 같습니다. 삼각형을 인쇄하기 전에 전체 정점 목록을 인쇄하는 OFF 요구 사항은 출력을 파일에 쓰기 전에 삼각형 목록을 메모리에 보관해야 함을 의미합니다. 그 동안 목록 크기 때문에 메모리 오류가 발생합니다. 더 이상 데이터가 필요하지 않으며 해제 할 수 있다고 Python에 알리는 가장 좋은 방법은 무엇입니까? 답변 Python 공식 문서 에 따르면 gc.collect() 참조되지 않은 메모리를 해제하기 위해 가비지 수집기를 명시 적으로 호출 할 수 있습니다. 예: import gc gc.coll..

파이썬에서 코드 블록을 주석 처리하는 방법

질문 : 파이썬에서 코드 블록을 주석 처리하는 방법 큰 파이썬 코드 블록을 주석 처리하는 메커니즘이 있습니까? 현재 코드를 주석 처리 할 수있는 유일한 방법은 모든 줄을 # 시작하거나 코드를 세 개의 따옴표로 묶는 것입니다 : """ . 이것의 문제는 모든 줄 앞에 # """ 가 주석으로 사용하려는 문자열이 생성 된 문서에 표시되도록한다는 것입니다. 모든 댓글을 읽은 후 대답은 "아니오"인 것 같습니다. 답변 파이썬에는 그러한 메커니즘이 없습니다. 주석을 차단하려면 각 줄 # 을 추가합니다. 자세한 내용은 PEP 8을 참조하십시오. 대부분의 Python IDE는 파운드 기호로 블록 주석 처리를 자동으로 수행하는 메커니즘을 지원합니다. 예를 들어, 내 컴퓨터의 IDLE에서는 Alt +3 및 Alt +4 입..

Python보다 C ++에서 stdin에서 행을 읽는 것이 훨씬 느린 이유

질문 : Python보다 C ++에서 stdin에서 행을 읽는 것이 훨씬 느린 이유는 무엇입니까? Python과 C ++를 사용하여 stdin의 문자열 입력 행을 비교하고 싶었고 C ++ 코드가 동등한 Python 코드보다 훨씬 느리게 실행되는 것을보고 충격을 받았습니다. 내 C ++가 녹슬고 아직 Pythonista 전문가가 아니기 때문에 내가 뭘 잘못하고 있는지 또는 뭔가를 오해하고 있는지 알려주세요. (TLDR 답변 : cin.sync_with_stdio(false) 문을 포함하거나 fgets 사용하십시오. TLDR 결과 : 내 질문의 맨 아래로 스크롤하여 표를보십시오.) C ++ 코드 : #include #include using namespace std; int main() { string in..

Python 코드를 배포할 때 코드를 보호 하는 방법

질문 : Python 코드를 어떻게 보호합니까? 저는 고용주의 고객에게 배포 할 Python 소프트웨어를 개발 중입니다. 고용주가 시간 제한 라이선스 파일로 소프트웨어 사용을 제한하려고합니다. .py 파일 또는 .pyc 파일을 배포하면 라이센스 파일을 확인하는 코드를 쉽게 (디 컴파일 및) 제거 할 수 있습니다. 또 다른 측면은 내 고용주가 코드가 도난 당하거나 적어도 "새로운 아이디어"가 될 수 있다는 두려움 때문에 고객이 코드를 읽는 것을 원하지 않는다는 것입니다. 이 문제를 처리하는 좋은 방법이 있습니까? 기성품 솔루션을 사용하는 것이 좋습니다. 소프트웨어는 Linux 시스템에서 실행될 것입니다 (그래서 py2exe가 트릭을 할 것이라고 생각하지 않습니다). 답변 바이트 코드로 컴파일 된 해석 언어..

Python의 time.time ()은 로컬 또는 UTC 타임 스탬프를 반환하는 방법

질문 : Python의 time.time ()은 로컬 또는 UTC 타임 스탬프를 반환합니까? time.time() 은 시스템의 시간이나 UTC의 시간을 반환합니까? 답변 time.time() 함수는 epoch 이후 초 수를 초로 반환합니다. "epoch"는 UTC로 1970 년 1 월 1 일의 시작으로 정의됩니다. 따라서 시대는 UTC로 정의되고 시간의 글로벌 순간을 설정합니다. 당신이 어디에 있든 "기원이 지난 몇 초"(time.time ())는 같은 순간에 같은 값을 반환합니다. 다음은 컴퓨터에서 실행 한 일부 샘플 출력이며 문자열로도 변환합니다. Python 2.7.3 (default, Apr 24 2012, 00:00:54) [GCC 4.7.0 20120414 (prerelease)] on lin..

최신 Python에서 사용자 지정 예외를 선언하는 적절한 방법

질문 : 최신 Python에서 사용자 지정 예외를 선언하는 적절한 방법은 무엇입니까? 최신 Python에서 사용자 지정 예외 클래스를 선언하는 적절한 방법은 무엇입니까? 내 주된 목표는 다른 예외 클래스의 표준을 따르는 것이므로 예외에 포함 된 추가 문자열이 예외를 포착 한 도구에 의해 인쇄됩니다. "현대적인 Python"이란 Python 2.5에서 실행되지만 Python 2.6 및 Python 3. * 작업 방식에서는 '올바른'것을 의미합니다. 그리고 "사용자 지정"이란 오류의 원인에 대한 추가 데이터를 포함 할 수있는 Exception 개체를 의미합니다. 문자열, 예외와 관련된 다른 임의 개체 일 수도 있습니다. Python 2.6.2에서 다음과 같은 사용 중단 경고가 발생했습니다. >>> class..

Pandas에서 DataFrame의 행을 반복하는 방법

질문 : Pandas에서 DataFrame의 행을 반복하는 방법 Pandas의 DataFrame 있습니다. import pandas as pd inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}] df = pd.DataFrame(inp) print df 산출: c1 c2 0 10 100 1 11 110 2 12 120 이제이 프레임의 행을 반복하고 싶습니다. 모든 행에 대해 열 이름으로 요소 (셀의 값)에 액세스 할 수 있기를 원합니다. 예를 들면 : for row in df.rows: print row['c1'], row['c2'] Pandas에서 가능합니까? 이 비슷한 질문을 찾았습니다. 그러나 그것은 나에게 필요한 답을주지 못합니다..

Python에서 날짜 범위 만들기

질문 : Python에서 날짜 범위 만들기 오늘부터 시작하여 임의의 날짜 수 (예 : 100 일)로 돌아가는 날짜 목록을 만들고 싶습니다. 이것보다 더 좋은 방법이 있습니까? import datetime a = datetime.datetime.today() numdays = 100 dateList = [] for x in range (0, numdays): dateList.append(a - datetime.timedelta(days = x)) print dateList 답변 조금 더 낫다 base = datetime.datetime.today() date_list = [base - datetime.timedelta(days=x) for x in range(numdays)] 출처 : https://sta..

파이썬에서 문자열에서 숫자를 추출하는 방법

질문 : 파이썬에서 문자열에서 숫자를 추출하는 방법은 무엇입니까? 문자열에 포함 된 모든 숫자를 추출합니다. 목적, 정규 표현식 또는 isdigit() 메서드에 더 적합한 것은 무엇입니까? 예: line = "hello 12 hi 89" 결과: [12, 89] 답변 양의 정수만 추출하려면 다음을 시도하십시오. >>> txt = "h3110 23 cat 444.4 rabbit 11 2 dog" >>> [int(s) for s in txt.split() if s.isdigit()] [23, 11, 2] 다른 모듈이 필요하지 않고 regex mini-language 를 구문 분석 (및 학습) 할 필요가 없기 때문에 더 읽기 쉬우므로 이것이 정규식 예제보다 낫다고 주장합니다. 이것은 부동 소수점, 음의 정수 또..

Python에서 SIGINT를 캡처하는 방법

질문 : Python에서 SIGINT를 어떻게 캡처합니까? 여러 프로세스와 데이터베이스 연결을 시작하는 Python 스크립트를 작성 중입니다. 가끔씩 Ctrl + C 신호로 스크립트를 죽이고 싶고 정리를하고 싶습니다. Perl에서는 다음과 같이합니다. $SIG{'INT'} = 'exit_gracefully'; sub exit_gracefully { print "Caught ^C \n"; exit (0); } 파이썬에서 이것과 유사하게하려면 어떻게해야합니까? 답변 다음과 같이 signal.signal 핸들러를 등록합니다. #!/usr/bin/env python import signal import sys def signal_handler(sig, frame): print('You pressed Ctrl+C..

파이썬에서 stderr로 출력하는 방법

질문 : 파이썬에서 stderr로 인쇄하는 방법은 무엇입니까? stderr에 쓰는 방법에는 여러 가지가 있습니다. # Note: this first one does not work in Python 3 print >> sys.stderr, "spam" sys.stderr.write("spam\n") os.write(2, b"spam\n") from __future__ import print_function print("spam", file=sys.stderr) 그것은 zen of Python # 13 † 과 모순되는 것 같습니다. 그래서 여기서 차이점은 무엇이며 어떤 방법 으로든 장점이나 단점이 있습니까? 어떤 방법을 사용해야합니까? † 분명한 방법이 하나 있어야합니다. 답변 나는 이것이 단 하나의 짧은..

파이썬에서 절대 파일 경로를 얻는 방법

질문 : 파이썬에서 절대 파일 경로를 얻는 방법 "mydir/myfile.txt" 와 같은 경로가 주어지면 Python에서 현재 작업 디렉토리에 상대적인 파일의 절대 경로를 어떻게 찾습니까? 예를 들어 Windows에서는 다음과 같이 끝날 수 있습니다. "C:/example/cwd/mydir/myfile.txt" 답변 >>> import os >>> os.path.abspath("mydir/myfile.txt") 'C:/example/cwd/mydir/myfile.txt' 이미 절대 경로 인 경우에도 작동합니다. >>> import os >>> os.path.abspath("C:/example/cwd/mydir/myfile.txt") 'C:/example/cwd/mydir/myfile.txt' 출처 : ..

Python에서 디렉토리의 모든 텍스트 파일 찾기

질문 : Python에서 확장자가 .txt 인 디렉토리의 모든 파일 찾기 .txt 디렉토리의 모든 파일을 어떻게 찾을 수 있습니까? 답변 glob 을 사용할 수 있습니다. import glob, os os.chdir("/mydir") for file in glob.glob("*.txt"): print(file) 또는 단순히 os.listdir : import os for file in os.listdir("/mydir"): if file.endswith(".txt"): print(os.path.join("/mydir", file)) 또는 디렉토리를 탐색하려면 os.walk 사용하십시오. import os for root, dirs, files in os.walk("/mydir"): for file in ..

다른 Python 파일을 가져 오는 방법 (import)

질문 : 다른 Python 파일을 가져 오는 방법은 무엇입니까? Python에서 다른 파일을 어떻게 가져 옵니까? 예를 들어, main.py 에는 다음이 있습니다. from extra import * extra.py 모든 정의를 제공하지만, 아마도 내가 원하는 것은 단일 정의 일 때 : def gap(): print print extra.py 에서 gap 을 얻기 위해 import 문에 무엇을 추가합니까? 답변 importlib 는 프로그래밍 방식으로 모듈을 가져 오기 위해 Python 3에 추가되었습니다. import importlib moduleName = input('Enter module name:') importlib.import_module(moduleName) moduleName 에서 제거해..

pip로 설치된 모든 패키지를 제거하는 가장 쉬운 방법

질문 : pip로 설치된 모든 패키지를 제거하는 가장 쉬운 방법은 무엇입니까? 내 가상 환경 중 하나를 수정하려고합니다. 설치된 모든 라이브러리를 프로덕션과 일치하는 라이브러리로 다시 설정하고 싶습니다. pip로이를 수행하는 빠르고 쉬운 방법이 있습니까? 답변 이 스 니펫을 대체 솔루션으로 찾았습니다. virtualenv를 다시 만드는 것보다 라이브러리를 더 우아하게 제거하는 것입니다. pip freeze | xargs pip uninstall -y VCS를 통해 패키지를 설치 한 경우 해당 행을 제외하고 수동으로 패키지를 제거해야합니다 (아래 설명에서 높음). pip freeze | grep -v "^-e" | xargs pip uninstall -y 출처 : https://stackoverflow.c..

728x90
반응형