在Windows命令提示符中使用'python -c'选项

Cod*_*der 1 python windows command-prompt

我想直接在Windows的命令提示符下执行python脚本字符串

所以经过一番谷歌搜索后,我找到了python -c选择。

我做到了

python -c 'print "Hello"'
Run Code Online (Sandbox Code Playgroud)

但这给出了以下错误,

  File "<string>", line 1
    'print
         ^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)

相同的命令在Ubuntu中工作正常,它可以打印

hello
Run Code Online (Sandbox Code Playgroud)

如何直接在Windows命令提示符下执行python命令?

Ery*_*Sun 5

在Windows上,请反向引用以-c双引号将参数引起来,例如python -c "print 'Hello'"

命令行由python.exe中的C运行时启动代码解析,该代码遵循解析C ++命令行参数中列出的规则。此外,cmd.exe通常会忽略双引号字符串中的许多特殊字符(%除外)。例如,python -c 'print 2 > 1'不仅Python无法正确解析,而且cmd.exe重定向stdout到名为的文件1'。相反,python -c "print 2 > 1"可以正常工作,即打印True

一个问题是在命令行中处理%字符,例如python -c "print '%username%'"。如果您不希望使用cmd.exe扩展环境变量,则可以使用%^将引号之外的%转义。^字符是cmd的转义字符,因此,您可能希望它与之相反,即^%。但是,cmd实际上并不使用^来转义%。相反,它防止将其解析username%为环境变量。这需要-c在各节中引用以下参数:python -c "print '"%^"username%'"。在这种特殊情况下,由于该命令的其余部分没有空格或特殊字符,因此可以将其编写为python -c "print "'%^username%'