You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么相同PowerShell命令在控制台可运行但Python os.system调用失败?

问题原因
  • Windows系统中os.system默认调用的解释器是cmd.exe,而非你预期的PowerShell。你构造的命令使用了PowerShell专属语法(&调用操作符、单引号包裹带空格的路径规则),cmd.exe完全不识别该语法规则,因此直接执行会抛出路径语法错误。
修复方案

修改命令字符串,在你原有PowerShell命令外层嵌套PowerShell启动参数即可,修改后的构造代码如下:

# 注意原命令内的单引号需要替换为两个连续单引号完成转义
cmdl = r'powershell -Command "& ''C:\Program Files\7-Zip\7z'' a -mx=0 X:/myarch.zip X:/myarch"'
os.system(cmdl)
  • 新增的powershell -Command前缀会告知cmd.exe启动PowerShell程序来执行后续传入的命令内容
  • 原命令内的单引号替换为两个连续单引号,是PowerShell命令参数的标准转义规则,用来正确识别路径里的单引号包裹标记

内容的提问来源于stack exchange,提问作者fednem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:06:01