반응형

Python 34

프로그램의 단일 인스턴스만 실행 중인지 확인

프로그램의 단일 인스턴스만 실행 중인지 확인 프로그램의 인스턴스를 하나만 실행할 수 있는 파이썬 방식이 있습니까? 제가 생각해낸 유일한 합리적인 해결책은 그것을 어떤 포트에서 서버로 실행하려고 시도하다가 같은 포트에 바인딩하려는 두 번째 프로그램이 실패하는 것입니다.하지만 좋은 생각은 아닙니다. 이것보다 더 가벼운 것이 있을까요? (프로그램이 때때로 실패할 것으로 예상된다는 점을 고려하십시오. 즉, segfault - "파일 잠금"과 같은 기능이 작동하지 않습니다.)다음 코드가 작업을 수행해야 하며 교차 플랫폼이며 Python 2.4-3.2에서 실행됩니다.Windows, OS X 및 Linux에서 테스트했습니다. from tendo import singleton me = singleton.SingleIn..

programing 2023.07.16

딕트와 같은 역할을 하는 파이썬 클래스

딕트와 같은 역할을 하는 파이썬 클래스 다음과 같이 동작하는 사용자 지정 클래스를 작성합니다.dict그래서, 저는 상속을 받고 있습니다.dict. 하지만 제 질문은 개인 정보를 생성해야 합니까?dict나의 회원__init__()방법?나는 이미 그것을 가지고 있기 때문에 이것의 요점을 이해하지 못합니다.dict내가 단순히 상속받은 행동.dict. 상속 스니펫의 대부분이 아래와 같은 이유를 지적할 수 있는 사람이 있습니까? class CustomDictOne(dict): def __init__(self): self._mydict = {} # other methods follow 더 단순한 대신에... class CustomDictTwo(dict): def __init__(self): # initialize ..

programing 2023.07.16

값을 전환하는 방법?

값을 전환하는 방법? 사이를 전환하는 가장 효율적인 방법은 무엇입니까?0그리고.1?NOT를 사용한 솔루션 값이 부울 값인 경우 가장 빠른 방법은 비연산자를 사용하는 것입니다. >>> x = True >>> x = not x # toggle >>> x False >>> x = not x # toggle >>> x True >>> x = not x # toggle >>> x False 뺄셈을 이용한 용액 값이 숫자인 경우 총계에서 빼는 것이 값을 전환하는 간단하고 빠른 방법입니다. >>> A = 5 >>> B = 3 >>> total = A + B >>> x = A >>> x = total - x # toggle >>> x 3 >>> x = total - x # toggle >>> x 5 >>> x = to..

programing 2023.07.16

완료하는 데 시간이 너무 오래 걸리는 경우 시간 초과

완료하는 데 시간이 너무 오래 걸리는 경우 시간 초과 이 질문에는 이미 다음과 같은 답이 있습니다. 함수 호출의 시간 초과 (24개 답변) 마감됨8년 전에. 방문하여 스크린샷을 찍고 싶은 URL:s가 포함된 텍스트 파일을 순환하는 셸 스크립트가 있습니다. 이 모든 것은 간단하고 간단합니다.이 스크립트는 클래스를 초기화하여 실행할 때 목록에 있는 각 사이트의 스크린샷을 만듭니다.일부 사이트는 로드하는 데 매우 매우 오랜 시간이 걸리고 일부 사이트는 로드되지 않을 수 있습니다.그래서 스크린그래버 함수를 타임아웃 스크립트로 래핑하여 함수를 반환하고 싶습니다.False10초 안에 끝낼 수 없다면요 저는 가능한 가장 간단한 해결책에 만족합니다. 함수 내부에서 실제로 무슨 일이 일어나든 10초 후에 False를 반..

programing 2023.07.01

데이터를 파일이 아닌 문자열로 CSV 형식으로 쓰는 방법은 무엇입니까?

데이터를 파일이 아닌 문자열로 CSV 형식으로 쓰는 방법은 무엇입니까? 저는 다음과 같은 데이터를 캐스팅하고 싶습니다.[1,2,'a','He said "what do you mean?"']CSV 형식의 문자열로 변환합니다. 일반적으로 다음을 사용합니다.csv.writer()이를 위해 모든 미친 에지 사례(콤마 이스케이프, 따옴표 이스케이프, CSV 방언 등)를 처리하기 때문입니다.함정은csv.writer()문자열이 아닌 파일 개체로 출력됩니다. 저의 현재 해결책은 다음과 같은 다소 진부한 기능입니다. def CSV_String_Writeline(data): class Dummy_Writer: def write(self,instring): self.outstring = instring.strip("\r\n..

programing 2023.06.26

python에서 문자열을 변수 이름으로 변환

python에서 문자열을 변수 이름으로 변환 이 질문에는 이미 다음과 같은 답이 있습니다. 동적으로 로컬 변수 설정 (7개 답변) 마감됨9년 전에. 커뮤니티는 3개월 전에 이 질문을 다시 시작할지 여부를 검토한 후 이 질문을 닫았습니다. 원래 종료 이유가 해결되지 않았습니다. 저는 어떤 끈이라도 가지고 있습니다.예를 들면, 'humbers', x='buffalo' 이 문자열을 변수 이름으로 변환하고 싶습니다. buffalo=4 이 예제뿐만 아니라 입력 문자열을 변수 이름으로 변환하고 싶습니다.어떻게 해야 하나요? (파이썬)?x='buffalo' exec("%s = %d" % (x,2)) 그런 다음 다음을 통해 확인할 수 있습니다. print buffalo 출력으로 다음을 볼 수 있습니다.2이것이 파이썬에..

programing 2023.06.21

두 날짜 사이의 날짜?

두 날짜 사이의 날짜? 이 질문에는 이미 다음과 같은 답이 있습니다. 지정된 두 날짜 사이의 일 수를 계산하는 방법 (15개 답변) 마감됨7년 전에. 두 날짜 사이에 며칠이 지났는지 확인하는 가장 빠른 방법은 무엇입니까?제가 지금 하고 있는 일은 이렇습니다. math.floor((b - a).total_seconds()/float(86400)) 문자 그대로 두 개의 날짜 개체가 있다고 가정하면 다른 개체에서 하나를 빼고 결과 개체에 일 수를 쿼리할 수 있습니다. >>> from datetime import date >>> a = date(2011,11,24) >>> b = date(2011,11,17) >>> a-b datetime.timedelta(7) >>> (a-b).days 7 또한 날짜 시간에도..

programing 2023.06.16

Python으로 이미지 표시

Python으로 이미지 표시 다음 코드로 IPython.display를 사용하려고 했습니다. from IPython.display import display, Image display(Image(filename='MyImage.png')) 저는 또한 다음과 같은 코드를 가진 matplotlib을 사용하려고 했습니다. import matplotlib.pyplot as plt import matplotlib.image as mpimg plt.imshow(mpimg.imread('MyImage.png')) 두 경우 모두 오류 메시지도 표시되지 않습니다.matplotlib을 사용하는 경우 대화형 노트북에 이미지를 표시하려면 다음을 시도하십시오. %matplotlib inline import matplotlib...

programing 2023.06.16

모양 및 데이터 유형으로 배열을 할당할 수 없습니다.

모양 및 데이터 유형으로 배열을 할당할 수 없습니다. 저는 Ubuntu 18에서 거대한 어레이를 numpy로 할당하는 문제에 직면했지만 MacOS에서는 동일한 문제에 직면하지 않았습니다. 모양이 있는 numpy 배열에 메모리를 할당하려고 합니다.(156816, 36, 53806)와 함께 np.zeros((156816, 36, 53806), dtype='uint8') Ubuntu OS에서 오류가 발생하는 동안 >>> import numpy as np >>> np.zeros((156816, 36, 53806), dtype='uint8') Traceback (most recent call last): File "", line 1, in numpy.core._exceptions.MemoryError: Unabl..

programing 2023.06.16

tqdm 진행 표시줄에 메시지를 추가할 수 있습니까?

tqdm 진행 표시줄에 메시지를 추가할 수 있습니까? tqdm 진행 표시줄을 사용할 때: 루프의 진행 표시줄과 같은 줄에 메시지를 추가할 수 있습니까? "tqdm.write" 옵션을 사용하려고 했지만, 모든 쓰기에 새 줄이 추가됩니다.각 반복은 막대 옆에 짧은 메시지를 표시하고 다음 반복에서는 사라집니다.이것이 가능합니까? Usage of tqdm의 예시는 저에게 잘 맞습니다. pbar = tqdm(["a", "b", "c", "d"]) for char in pbar: pbar.set_description("Processing %s" % char) 또는 바다코끼리 연산자를 지원하는 Python 3.8을 시작합니다. for char in (pbar := tqdm(["a", "b", "c", "d"])): ..

programing 2023.06.16
반응형