Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用';python-c';Windows命令提示符中的选项_Python_Windows_Command Prompt - Fatal编程技术网

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

使用';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脚本字符串

所以在谷歌搜索了一下之后,我找到了
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