오늘 몇 가지 코드를 작성했습니다. 원래는 현재 파일 위의 세 디렉터리를 가져오려고 했는데 오류가 발생했습니다
import osimport sysprint(__file__)# 得到上上层目录的路径之后,加入到默认的环境变量中BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) sys.path.append(BASE_DIR)print("******", BASE_DIR) 输出结果:<encoding error> ******
그런 다음 Stack Overflow에서 다음 문을 봤습니다
위의 내용은 대략 dirname과 basename을 의미합니다. 경로를 분할할 때 현재 경로를 고려하지 않으므로 다음과 같이 수정해야 하지만 이전에 작성한 프로그램은 동일한 코드를 사용하여 실행될 수 있습니다. 이로 인해 혼란이 발생하지만 문제는 실제로 해결됩니다. 마음이 따뜻한 네티즌이라면 구체적인 이유를 알고 있으니 아래 댓글로 조언을 부탁드립니다
코드 수정: __file__을 os.path.abspath(__file___)
import osimport sysprint(os.path.abspath(__file__)) # 得到上上层目录的路径之后,加入到默认的环境变量中BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(BASE_DIR)print("******", BASE_DIR)
위 내용은 Python을 작성할 때 발생한 오류를 공유하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!