使用';python-c';Windows命令提示符中的选项
我想直接从窗口中的命令提示符执行python脚本字符串 所以在谷歌搜索了一下之后,我找到了使用';python-c';Windows命令提示符中的选项,python,windows,command-prompt,Python,Windows,Command Prompt,我想直接从窗口中的命令提示符执行python脚本字符串 所以在谷歌搜索了一下之后,我找到了python-c选项 是的 python -c 'print "Hello"' 但它给出了以下错误 File "<string>", line 1 'print ^ SyntaxError: EOL while scanning string literal 如何在windows命令提示符下直接执行python命令?在windows上,使用双引号反向引用-c参数
python-c
选项
是的
python -c 'print "Hello"'
但它给出了以下错误
File "<string>", line 1
'print
^
SyntaxError: EOL while scanning string literal
如何在windows命令提示符下直接执行python命令?在windows上,使用双引号反向引用
-c
参数,例如python-c“打印“Hello”
命令行由python.exe中的C运行时启动代码解析,该代码遵循中列出的规则。此外,cmd.exe通常会忽略双引号字符串中的许多特殊字符(除了%)。例如,python-c'print 2>1'
不仅没有被python正确解析,而且cmd.exe将stdout
重定向到名为1'
的文件。相反,python-c“print 2>1”
工作正常,即它打印True
一个问题是处理命令行上的%字符,例如,
python-c“打印“%username%””
。如果不希望环境变量由cmd.exe展开,可以使用%^在引号外转义%。^character是cmd的转义字符,因此您希望它是另一种形式,即^%。然而,cmd实际上并没有使用^来转义%。相反,它阻止将其作为环境变量使用username%
进行解析。这需要在以下部分中引用-c
参数:python-c“print'”^“username%”
。在这种情况下,由于命令的其余部分没有空格或特殊字符,因此可以更简单地写成python-c“print”“^username%”
您在windows中使用的是哪个版本的python?我在windows中使用的是2.7.9
,在Ubuntu中使用的是2.7.6
,如果您是从cmd.exe运行这个命令,翻转引用,例如,python-c“打印‘Hello’”
。
hello