본문 바로가기

전체 글980

Python 파이썬 오류 "ImportError: 모듈이름이 없음", Python error "ImportError: No module named" 질문 파이썬은 로컬 디렉토리에 설치되어 있습니다. 저의 디렉토리 트리는 다음과 같습니다: (로컬 디렉토리)/site-packages/toolkit/interface.py 제 코드는 여기에 있습니다: (로컬 디렉토리)/site-packages/toolkit/examples/mountain.py 예제를 실행하기 위해 python mountain.py라고 작성하고, 코드 안에는 다음이 있습니다: from toolkit.interface import interface 그리고 다음과 같은 오류가 발생합니다: Traceback (most recent call last): File "mountain.py", line 28, in ? from toolkit.interface import interface ImportE.. 2023. 9. 10.
Python 오류: "'dict' 객체에는 'iteritems' 속성이 없습니다", Error: " 'dict' object has no attribute 'iteritems' " 질문 나는 NetworkX를 사용하여 Shapefile을 읽고 write_shp() 함수를 사용하여 노드와 엣지를 포함하는 Shapefile을 생성하려고 시도하고 있습니다. 그러나 코드를 실행하려고하면 다음과 같은 오류가 발생합니다: Traceback (most recent call last): File "C:/Users/Felipe/PycharmProjects/untitled/asdf.py", line 4, in nx.write_shp(redVial, "shapefiles") File "C:\Python34\lib\site-packages\networkx\readwrite\nx_shp.py", line 192, in write_shp for key, data in e[2].iteritems(): Att.. 2023. 9. 10.
Python "정수와 함께 'is' 연산자는 예상치 못한 방식으로 작동합니다.", "is" operator behaves unexpectedly with integers 질문 다음의 코드는 파이썬에서 예상치 못한 동작을 하는 이유는 무엇인가요? >>> a = 256 >>> b = 256 >>> a is b True # 이는 예상한 결과입니다 >>> a = 257 >>> b = 257 >>> a is b False # 여기서 무슨 일이 일어났나요? 왜 False인가요? >>> 257 is 257 True # 그럼에도 불구하고 리터럴 숫자는 제대로 비교됩니다 저는 Python 2.5.2를 사용하고 있습니다. Python의 다른 버전을 몇 가지 시도해보면, Python 2.3.3에서는 99와 100 사이에서 위와 같은 동작을 보입니다. 위를 기반으로 가설을 세울 수 있습니다. 파이썬은 "작은" 정수와 큰 정수를 다른 방식으로 저장하는 내부 구현을 하고 있으며, is 연산자는 .. 2023. 9. 10.
Python의 re.compile을 사용하는 것이 가치가 있는가요?, Is it worth using Python's re.compile? 질문 파이썬에서 정규 표현식을 컴파일하여 사용하는 것에 어떤 이점이 있나요? h = re.compile('hello') h.match('hello world') vs re.match('hello', 'hello world') 답변 나는 이미 컴파일된 정규식을 실행하는 경험이 많이 있으며, 그것을 동적으로 컴파일하는 것과는 어떤 차이도 느끼지 못했습니다. 물론, 이것은 주관적인 경험에 불과하며, 컴파일에 대한 좋은 주장은 아니지만, 차이가 미미하다는 것을 발견했습니다. 수정: 실제 Python 2.5 라이브러리 코드를 빠르게 살펴보니, Python은 내부적으로 정규식을 컴파일하고 캐시에 저장합니다. (re.match() 호출을 포함하여 사용할 때마다) 따라서 실제로 정규식이 컴파일되는 시점만 변경하고, 캐.. 2023. 9. 10.
Python 스레드에서 반환 값을 어떻게 얻을 수 있나요?, How to get the return value from a thread? 질문 아래의 함수 foo는 문자열 'foo'를 반환합니다. 스레드의 대상에서 반환된 'foo' 값을 어떻게 얻을 수 있을까요? from threading import Thread def foo(bar): print('hello {}'.format(bar)) return 'foo' thread = Thread(target=foo, args=('world!',)) thread.start() return_value = thread.join() 위에서 보여진 "하나의 명백한 방법"은 작동하지 않습니다: thread.join()은 None을 반환했습니다. 답변 하나의 방법은 가변 객체(예: 리스트 또는 사전)를 스레드의 생성자와 함께 전달하여 스레드가 해당 객체의 전용 슬롯에 결과를 저장하는 것입니다. 예를 들면.. 2023. 9. 10.
Python 특정 항목이 ndarray에서 몇 번 발생하는지 어떻게 세나요?, How do I count the occurrence of a certain item in an ndarray? 질문 다음 배열에서 0과 1의 개수를 어떻게 세나요? y = np.array([0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1]) y.count(0)은 다음을 반환합니다: numpy.ndarray 객체에는 count 속성이 없습니다. 답변 numpy.unique를 사용하여: import numpy a = numpy.array([0, 3, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1, 3, 4]) unique, counts = numpy.unique(a, return_counts=True) >>> dict(zip(unique, counts)) {0: 7, 1: 4, 2: 1, 3: 2, 4: 1} Non-numpy 방법으로 collections.Counter를 사용하여: impo.. 2023. 9. 10.
Python 파이썬 인터프리터의 전체 경로를 찾으세요., Find full path of the Python interpreter? 질문 현재 실행 중인 Python 스크립트 내에서 현재 실행 중인 Python 인터프리터의 전체 경로를 어떻게 찾을 수 있을까요? 답변 sys.executable는 현재 실행 중인 Python 인터프리터의 전체 경로를 포함합니다. import sys print(sys.executable) 이제 여기에서 문서화되어 있습니다 2023. 9. 10.
Python 파이썬으로 소수점 2자리로 반올림하는 방법은 무엇인가요? [중복], How to round to 2 decimals with Python? [duplicate] 질문 이 코드의 출력에서 많은 소수점을 얻고 있습니다 (화씨에서 섭씨로 변환). 현재 코드는 다음과 같습니다: def main(): printC(formeln(typeHere())) def typeHere(): global Fahrenheit try: Fahrenheit = int(raw_input("안녕하세요! 화씨 값을 입력하고 섭씨로 변환하세요!\n")) except ValueError: print "\n입력한 값이 숫자가 아닙니다!" print "화씨 값을 50으로 설정했습니다!" Fahrenheit = 50 return Fahrenheit def formeln(c): Celsius = (Fahrenheit - 32.00) * 5.00/9.00 return Celsius def printC(ans.. 2023. 9. 10.