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

如何在Windows批处理文件中构建多行Python字符串字面量

批处理中传递多行Python脚本给python -c的解决方案

你之前的proposal-1.bat无效的核心原因:把Python代码拆成多个带引号的片段后,批处理会将每个片段视为独立的命令行参数。而python -c仅会把第一个参数作为执行代码,后续参数会被当作脚本的命令行参数(存入sys.argv),实际只执行了import math,因此没有输出。

以下是两种可行的解决方案:

方案1:单引号对包裹多行代码

批处理允许未闭合的双引号跨多行,整个引号内的内容会被作为一个完整参数传递给python -c,Python能正确解析包含换行的代码。

创建multi-line.bat,内容如下:

python -c "import math
print(
math.hypot(
3,
4)
)"

执行该批处理,会输出5.0,与单行版结果一致。

方案2:用批处理变量存储多行代码(适配特殊字符场景)

如果代码中包含%这类批处理特殊字符,可借助延迟扩展变量存储代码,避免繁琐的转义操作:

@echo off
setlocal enabledelayedexpansion
set "code=import math"
set "code=!code!
print(
math.hypot(
3,
4)
)"
python -c "!code!"

注意:变量赋值时,后续行的代码需顶格书写,不要添加多余空格,否则会引入无效字符导致Python执行报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:09:24