본문 바로가기

전체 글980

Python 파이썬이 실행 중인 운영 체제를 식별하는 방법, How to identify which OS Python is running on 질문 What do I need to look at to see whether I'm on Windows or Unix, etc.? 나는 윈도우 또는 유닉스 등에서 작동하는지 어떻게 확인해야 하나요? 답변 >>> import os >>> os.name 'posix' >>> import platform >>> platform.system() 'Linux' >>> platform.release() '2.6.22-15-generic' platform.system()의 출력 결과는 다음과 같습니다: Linux: Linux Mac: Darwin Windows: Windows 참조: platform — 기본 플랫폼 식별 데이터에 대한 액세스 2023. 6. 10.
Python 동일한 디렉토리 또는 하위 디렉토리에서 클래스를 가져오는 방법은 무엇인가요?, How to import the class within the same directory or sub directory? 질문 저는 모든 .py 파일을 저장하는 디렉토리를 가지고 있습니다. bin/ main.py user.py # 클래스 User가 존재하는 위치 dir.py # 클래스 Dir가 존재하는 위치 user.py와 dir.py에서 클래스를 main.py에서 사용하고 싶습니다. 어떻게 하면 이러한 Python 클래스를 main.py에 가져올 수 있을까요? 또한, user.py가 하위 디렉토리에 있는 경우 클래스 User를 가져오는 방법은 무엇인가요? bin/ dir.py main.py usr/ user.py 답변 파이썬 2 __init__.py이라는 빈 파일을 파일과 같은 디렉토리에 만드십시오. 이렇게 하면 Python에서 "이 디렉토리에서 가져올 수 있다"는 것을 나타냅니다. 그런 다음 다음을 수행하십시오. fro.. 2023. 6. 10.
Python 파이썬에서 "with open"을 사용하여 여러 파일을 어떻게 열 수 있나요?, How can I open multiple files using "with open" in Python? 질문 한 번에 여러 파일을 변경하려고 합니다. 그러나 모든 파일에 쓸 수 있는 경우에만 iff를 작성할 수 있습니다. 여러 개의 열린 호출을 with 문과 결합할 수 있는 방법이 있는지 궁금합니다: try: with open('a', 'w') as a and open('b', 'w') as b: do_something() except IOError as e: print 'Operation failed: %s' % e.strerror 그렇지 않은 경우, 이 문제에 대한 우아한 해결책은 무엇일까요? 답변 Python 2.7 (또는 3.1)부터는 다음과 같이 작성할 수 있습니다. with open('a', 'w') as a, open('b', 'w') as b: do_something() (역사적 참고: 이전.. 2023. 6. 10.
Python 객체 목록을 섞기 [중복], Shuffling a list of objects [duplicate] 질문 객체 목록을 섞는 방법은 무엇인가요? random.shuffle를 시도해보았지만: import random b = [object(), object()] print(random.shuffle(b)) 다음과 같이 출력됩니다: None 답변 random.shuffle은 작동해야합니다. 여기에는 객체가 목록 인 예제가 있습니다. from random import shuffle x = [[i] for i in range(10)] shuffle(x) print(x) # print(x) gives [[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]] shuffle이 in place에서 작동하고 None을 반환한다는 것에 유의하십시오. 일반적으로 Python에서 가변 객체는 .. 2023. 6. 10.
Python 파이썬 코드가 함수에서 더 빠르게 실행되는 이유는 무엇인가요?, Why does Python code run faster in a function? 질문 def main(): for i in xrange(10**8): pass main() 이 파이썬 코드는 다음과 같습니다. (참고: 시간 측정은 리눅스의 BASH에서 time 함수를 사용합니다.) real 0m1.841s user 0m1.828s sys 0m0.012s 그러나 for 루프가 함수 내에 없으면, for i in xrange(10**8): pass 그러면 훨씬 더 오랜 시간 동안 실행됩니다: real 0m4.543s user 0m4.524s sys 0m0.012s 이유는 무엇인가요? 답변 함수 내부에서 바이트코드는 다음과 같습니다: 2 0 SETUP_LOOP 20 (to 23) 3 LOAD_GLOBAL 0 (xrange) 6 LOAD_CONST 3 (100000000) 9 CALL_FUN.. 2023. 6. 10.
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.