PowerShell调用虚拟环境Python脚本时如何保持指定工作目录
解决Python脚本工作目录异常问题
方案一:在PowerShell中切换工作目录执行
修改你的PowerShell脚本,先切换到Python脚本所在的python目录,再调用虚拟环境的Python解释器:
$pythonDir = Join-Path -Path $PSScriptRoot -ChildPath "..\python" $pythonScript = Join-Path -Path $pythonDir -ChildPath "script_python.py" $pythonVenv = Join-Path -Path $pythonDir -ChildPath "venv\Scripts\python.exe" # 切换到Python脚本所在的目录 Set-Location -Path $pythonDir # 执行Python脚本 & $pythonVenv $pythonScript
方案二:在Python脚本内部固定工作目录
如果不想改动PowerShell脚本,可在Python脚本开头添加代码,强制将工作目录切换到脚本自身所在的目录:
import os # 获取当前脚本的绝对路径所在目录 script_directory = os.path.dirname(os.path.abspath(__file__)) # 切换工作目录到脚本所在目录 os.chdir(script_directory) # 后续正常读取SQL文件 with open("sql_query.sql", "r") as sql_file: # 处理SQL逻辑
内容的提问来源于stack exchange,提问作者Frederi ROSE
相关产品推荐
相关产品推荐

