본문 바로가기

Python576

Python 부모 디렉토리가 없으면 디렉토리를 생성하는 방법은 무엇인가요?, How do I create a directory, and any missing parent directories? 질문 주어진 경로에 디렉토리를 만들고 그 경로에 따라 누락된 부모 디렉토리도 만드는 방법은 무엇인가요? 예를 들어, Bash 명령어 mkdir -p /path/to/nested/directory가 이를 수행합니다. 답변 Python ≥ 3.5에서는 pathlib.Path.mkdir를 사용하세요: from pathlib import Path Path("/my/directory").mkdir(parents=True, exist_ok=True) Python의 이전 버전의 경우, 각각 작은 결함이 있는 두 가지 좋은 답변이 있으므로 제 생각을 제시하겠습니다: os.path.exists를 사용하고 os.makedirs를 고려하세요. import os if not os.path.exists(directory): o.. 2023. 5. 4.
Python 프로그램을 실행하거나 시스템 명령을 호출하는 방법은 무엇인가요?, How do I execute a program or call a system command? 질문 프로그램을 실행하거나 시스템 명령을 호출하는 방법은 무엇인가요? Python에서 쉘 또는 명령 프롬프트에 입력한 것처럼 외부 명령을 호출하는 방법은 무엇인가요? 답변 subprocess 모듈을 사용합니다. 이 모듈은 표준 라이브러리에 포함되어 있습니다: import subprocess # 간단한 명령어의 경우 subprocess.run(["ls", "-l"]) # 복잡한 명령어의 경우, 많은 인수를 사용하는 경우, 문자열 + `shell=True`을 사용합니다: cmd_str = "ls -l /tmp | awk '{print $3,$9}' | grep root" subprocess.run(cmd_str, shell=True) subprocess.run은 os.system보다 더 유연합니다. (std.. 2023. 5. 4.
Python 예외 없이 파일이 존재하는지 확인하는 방법은 무엇인가요?, How do I check whether a file exists without exceptions? 질문 try 문을 사용하지 않고 파일이 존재하는지 여부를 어떻게 확인할 수 있나요? 답변 파일이 존재하는지 확인하는 이유가 if file_exists: open_it()와 같이 무언가를 수행하기 위한 것이라면, 열기를 시도하기 전에 try를 사용하는 것이 더 안전합니다. 확인한 후에 열면 확인한 시점과 열기를 시도하는 시점 사이에 파일이 삭제되거나 이동되는 등의 문제가 발생할 수 있습니다. 파일을 즉시 열 계획이 없다면 os.path.isfile을 사용할 수 있습니다. 경로가 존재하는 일반 파일이면 True를 반환합니다. 이 함수는 심볼릭 링크를 따르므로 같은 경로에 대해 islink()와 isfile() 둘 다 참일 수 있습니다. import os.path os.path.isfile(fname) 파일임.. 2023. 5. 4.
Python if __name__ == "__main__":는 무엇을 하는 것인가요?, What does if __name__ == "__main__": do? 질문 제목: if __name__ == "__main__"은 무엇을 하는 것인가요? 이것은 무엇을 하는 것이며, if 문을 포함해야 하는 이유는 무엇인가요? if __name__ == "__main__": print("Hello, World!") 이 관용구를 사용해야 하는데 사용하지 않는 경우 질문을 닫으려는 경우, 대신 Why is Python running my module when I import it, and how do I stop it?을(를) 중복으로 닫으십시오. 함수를 호출하지 않은 경우나 잘못된 기대로 인해 main이라는 함수가 자동으로 시작점으로 사용되는 것으로 예상하는 경우, Why doesn't the main() function run when I start a Python scr.. 2023. 5. 4.