獲取絕對路徑 【檔案找不到】

__username發表於2024-11-04

場景

# main.py 部分程式碼
    def _run_login_script(self):
        import subprocess
        # 定義 tools 目錄下 login.py 指令碼的路徑
        script_path = os.path.join(os.getcwd(), "tools", "login.py")

        if "CONDA_DEFAULT_ENV" in os.environ and os.environ["CONDA_DEFAULT_ENV"] == "base":
            # 如果在 Conda base 環境中
            subprocess.run(["conda", "run", "-n", "base", "python", script_path])
        else:
            # 如果在全域性 Python 環境中
            subprocess.run(["python", script_path])

main.py 執行tools目錄下的 login.py

# 獲取 login.py 的絕對路徑
current_dir = os.path.dirname(os.path.abspath(__file__))
log_dir = os.path.join(current_dir, '..', 'log', 'login.log')  # 上一級目錄下的 log資料夾 下的 login.log
logger.add(log_dir, encoding='utf-8')  # 舉例  【這樣就不會出現找不到資料夾錯誤問題 或者 寫入到了其它目錄下】

相關文章