본문 바로가기
반응형

개발/Python198

[파이썬] 딕셔너리를 문자열로 변환하고 다시 변환하는 방법 저는 사전 객체에 데이터를 저장하는 프로그램을 작성하고 있지만 이 데이터는 프로그램 실행 중 어느 시점에 저장되고 프로그램이 다시 실행될 때 사전 객체로 다시 로드되어야 합니다. 사전 객체를 파일에 기록하고 사전 객체로 다시 로드할 수 있는 문자열로 어떻게 변환합니까? 이것은 사전을 포함하는 사전을 지원하기를 바랍니다. The json module여기에 좋은 해결책이 있습니다. 일반 텍스트 출력만 생성하고 크로스 플랫폼 및 크로스 버전이라는 피클에 비해 장점이 있습니다. import json json.dumps(dict) 사전이 너무 크지 않으면 str + eval이 작업을 수행할 수 있습니다. dict1 = {'one':1, 'two':2, 'three': {'three.1': 3.1, 'three.2.. 2023. 1. 22.
[파이썬] x축 또는 y축을 반전시키는 방법 임의의 x, y 좌표가 있는 산점도 그래프가 있습니다. 현재 Y축은 0에서 시작하여 최대값까지 올라갑니다. Y축이 최대값에서 시작하여 0까지 올라가길 원합니다. points = [(10,5), (5,11), (24,13), (7,8)] x_arr = [] y_arr = [] for x,y in points: x_arr.append(x) y_arr.append(y) plt.scatter(x_arr,y_arr) 이를 더욱 간단하게 만드는 새로운 API가 있습니다. plt.gca().invert_xaxis() 및/또는 plt.gca().invert_yaxis() DisplacedAussie의 대답은 정확하지만 일반적으로 더 짧은 방법은 문제의 단일 축을 뒤집는 것입니다. plt.scatter(x_arr, y_.. 2023. 1. 22.
[파이썬] 리스트에서 교차점을 찾는 방법? a = [1,2,3,4,5] b = [1,3,5,6] c = a and b print c 실제 출력:[1,3,5,6]예상 출력:[1,3,5] 두 목록에서 부울 AND 연산(목록 교차)을 어떻게 달성할 수 있습니까? 순서가 중요하지 않고 중복에 대해 걱정할 필요가 없는 경우 교차 설정을 사용할 수 있습니다. >>> a = [1,2,3,4,5] >>> b = [1,3,5,6] >>> list(set(a) & set(b)) [1, 3, 5] list comprehension을 사용하는 것은 저에게 매우 분명한 것입니다. 성능에 대해서는 확실하지 않지만 최소한 목록에 남아 있습니다. [x for x in a if x in b] 또는 "X 값이 B에 있는 경우 A에 있는 모든 x 값". 두 목록 중 더 큰 것을 .. 2023. 1. 22.
[파이썬] os.path.join()이 작동하지 않는 이유? 아래 코드는 조인하지 않습니다. 디버그할 때 명령은 전체 경로를 저장하지 않고 마지막 항목만 저장합니다. os.path.join('/home/build/test/sandboxes/', todaystr, '/new_sandbox/') 이것을 테스트하면/new_sandbox/코드의 일부입니다. 후자의 문자열은 슬래시로 시작하면 안 됩니다. 슬래시로 시작하면 "절대 경로"로 간주되며 그 앞의 모든 항목은 삭제됩니다. 인용Python docs for os.path.join: 구성 요소가 절대 경로인 경우 이전 구성 요소는 모두 버리고 절대 경로 구성 요소에서 결합이 계속됩니다. Windows에서 이전 Python 버전과 비교하여 변경된 것으로 보이는 드라이브 문자와 관련된 동작을 참고하십시오. Windows에서.. 2023. 1. 22.
[파이썬] 파일을 읽으면 파일 핸들이 계속 열려 있어야 할까? 전체 파일을 읽으면content = open('Path/to/file', 'r').read()스크립트가 종료될 때까지 파일 핸들이 열려 있습니까? 전체 파일을 읽는 더 간결한 방법이 있습니까? 그 질문에 대한 답은 특정 Python 구현에 따라 다소 다릅니다. 이것이 무엇인지 이해하려면 실제 상황에 특히 주의를 기울이십시오.file물체. 코드에서 해당 개체는 식에서 한 번만 언급되며 다음 직후에 액세스할 수 없게 됩니다.read()전화가 돌아옵니다. 이것은 파일 객체가 가비지임을 의미합니다. 남은 유일한 질문은 "가비지 수집기가 언제 파일 개체를 수집합니까?"입니다. 참조 카운터를 사용하는 CPython에서는 이러한 종류의 쓰레기가 즉시 발견되므로 즉시 수집됩니다. 이것은 일반적으로 다른 파이썬 구현에는.. 2023. 1. 22.
[파이썬] 파일이 비어 있는지 확인하는 방법 텍스트 파일이 있습니다. 비어 있는지 여부를 어떻게 확인할 수 있습니까? >>> import os >>> os.stat("file").st_size == 0 True import os os.path.getsize(fullpathhere) > 0 둘 다getsize()그리고stat()파일이 존재하지 않으면 예외가 발생합니다. 이 함수는 던지지 않고 True/False를 반환합니다(간단하지만 덜 강력함). import os def is_non_zero_file(fpath): return os.path.isfile(fpath) and os.path.getsize(fpath) > 0 Python 3을 사용하는 경우pathlib액세스할 수 있습니다os.stat()정보를 사용하여Path.stat()속성이 있는 메소.. 2023. 1. 21.
728x90