본문 바로가기

Python283

Python 현재 디렉토리의 모든 하위 디렉토리 목록 가져오기, Getting a list of all subdirectories in the current directory 질문 Python에서 현재 디렉토리의 모든 하위 디렉토리 목록을 반환하는 방법이 있나요? 파일로는 이것을 할 수 있다는 것을 알고 있지만, 대신 디렉토리 목록을 얻어야 합니다. 답변 당신이 말하는 것은 즉시 하위 디렉토리를 의미하는 것인가, 아니면 트리 아래 모든 디렉토리를 의미하는 것인가요? 어떤 방식이든, 이를 수행하기 위해 os.walk를 사용할 수 있습니다: os.walk(directory) 각 하위 디렉토리에 대해 튜플을 생성합니다. 3-tuple의 첫 번째 항목은 디렉토리 이름입니다. 따라서 [x[0] for x in os.walk(directory)] 은 재귀적으로 모든 하위 디렉토리를 알려줍니다. 튜플의 두 번째 항목이 첫 번째 위치의 엔트리의 하위 디렉토리 목록이기 때문에 대신 이것을 사.. 2023. 6. 10.
Python의 open()은 파일이 존재하지 않으면 파일을 생성하지 않습니다., open() in Python does not create a file if it doesn't exist 질문 존재하면 읽기/쓰기로 파일을 열고, 그렇지 않으면 만들어서 읽기/쓰기로 열려면 어떤 것이 가장 좋을까요? 내가 읽은 것으로는 file = open('myfile.dat', 'rw')이렇게 하면 되는 거 아니에요? 그게 제 컴퓨터에서 (파이썬 2.6.2) 작동하지 않는데, 이게 버전 문제인지, 아니면 그렇게 작동하지 않는 건 아닌지 궁금합니다. 요점은, 그냥 문제를 해결할 수 있는 방법이 필요합니다. 다른 것도 궁금하지만, 열기 부분만 잘 해결할 수 있는 좋은 방법이 필요합니다. 폴더는 사용자와 그룹에 의해 쓰기 가능하게 설정되어 있었고, 다른 사용자는 쓰기 권한이 없었습니다 (리눅스 시스템이기 때문에 권한 775라는 뜻입니다). 정확한 오류 메시지는 다음과 같습니다: IOError: no such .. 2023. 6. 10.
Python 하위 목록 전체에 영향을 미치는 목록의 변경사항이 예기치 않게 반영됩니다., List of lists changes reflected across sublists unexpectedly 질문 나는 리스트의 리스트를 만들었다: >>> xs = [[1] * 4] * 3 >>> print(xs) [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] 그리고 나서, 내부 값 중 하나를 변경했다: >>> xs[0][0] = 5 >>> print(xs) [[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]] 왜 각 하위 리스트의 첫 번째 요소가 5로 변경되었을까? 또한 참조: 어떻게 할당 후 예상치 못한 변경이 발생하지 않도록 리스트를 복제할 수 있나요? 문제에 대한 해결책 각 반복에서 마지막 추가된 값만 저장하는 사전의 리스트에 대한 유사한 문제 Python에서 빈 리스트의 사전을 초기화하는 방법은 무엇인가요? 리스트의 사전에 대한 유사한 문제 답변 [.. 2023. 6. 9.
Python 파이썬 함수 정의에서 ->는 무엇을 의미하는가요?, What does -> mean in Python function definitions? 질문 최근에 Python 3.3 문법 명세를 살펴보면서 흥미로운 것을 발견했습니다: funcdef: 'def' NAME parameters ['->' test] ':' suite Python 2에서 선택적인 '화살표' 블록이 없었고 Python 3에서의 의미에 대한 정보를 찾을 수 없었습니다. 그러나 이것은 올바른 Python이며 인터프리터에서도 인식됩니다: def f(x) -> 123: return x 이것이 어떤 종류의 사전 조건 구문일 수도 있다고 생각했지만: 여기서 x를 테스트할 수 없습니다. 아직 정의되지 않았기 때문입니다. 화살표 뒤에 무엇을 넣어도 (예: 2 < 1) 함수 동작에 영향을 미치지 않습니다. 이 구문 스타일에 익숙한 누군가가 설명해 줄 수 있을까요? 답변 이것은 함수 주석입니다... 2023. 6. 9.