목록컴퓨터사이언스 (7)
스택큐힙리스트
이것은 간단한 스코핑 질문일 수 있습니다. Python 파일 (모듈)에서 다음 코드는 약간 혼란 스러워 보입니다. if __name__ == '__main__': x = 1 print x내가 이전에 일했던 언어에서, 이 코드는 예외를 던질 것입니다. x 변수는 if 문 내부에 지역 변수이기 때문에 외부에 존재해서는 안 됩니다. 그러나 이 코드는 실행되고 1을 출력합니다. 누가 이 동작을 설명해 줄 수 있나요? 모듈에서 생성된 모든 변수는 전역적이거나 모듈 전체에서 사용 가능한가요?답변 1파이썬 변수는 할당된 가장 안쪽의 함수, 클래스 또는 모듈에 범위가 지정됩니다. if 및 while 블록과 같은 제어 블록은 계산되지 않으므로 if 내에서 할당된 변수는 여전히 함수, 클래스 또는 모듈에 범위가 지정됩니다..
나는 Numpy 배열 형태의 행렬을 가지고 있습니다. 이것을 이미지 파일로 디스크에 저장하는 방법은 무엇인가요? 어떤 형식이든 상관 없습니다 (png, jpeg, bmp 등). 중요한 제약 조건 중 하나는 PIL이 없다는 것입니다.답변 1PIL 를 사용한 대답 (만약에 유용하다면).주어진 numpy 배열 A: from PIL import Imageim = Image.fromarray(A)im.save(your_file.jpeg)jpeg를 원하는 형식으로 거의 모두 바꿀 수 있습니다. 형식에 대한 자세한 내용은 here을(를) 참조하십시오.답변 2아래는 Numpy 어레이를 이미지로 저장하는 방법입니다. 이 작업은 수치 분석에서 중요한 작업 중 하나입니다. 이미지화된 데이터는 더 쉽게 시각화할 수 있기 때문..
다음 명령으로 하위 프로세스를 시작합니다. p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)그러나, 나는 죽이려고 시도할 때: p.terminate()또는 p.kill()명령어는 백그라운드에서 계속 실행되므로, 프로세스를 실제로 종료하는 방법이 궁금합니다.참고로, 해당 명령을 다음과 같이 실행합니다: p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)p.terminate()를 발행할 경우 성공적으로 종료됩니다.답변 1그룹 내 모든 프로세스에 신호를 전송할 수 있도록 process group 를 사용하세요. 이를 위해 생성된/자식 프로세스의 부모 프로세스에 session id 를 연결해야 합니다..