2024-04-24 23:11:59 发布
网友
长话短说:pythonw.exe什么也不做,python.exe什么也不接受(我应该用哪个?)
pythonw.exe
python.exe
测试.py:
print "a"
命令窗口:
C:\path>pythonw.exe test.py <BLANK LINE> C:\path> C:\path>python.exe test.py File "C:\path\test.py", line 7 print "a" ^ SyntaxError: invalid syntax C:\path>
请告诉我我做错了什么。
如果不希望在运行程序时弹出终端窗口,请使用pythonw.exe; 否则,使用python.exe
关于语法错误:printis now a function in 3.x 因此,请使用:
print
print("a")
总结和补充现有答案:
python.exe是用于启动CLI类型脚本的控制台(终端)应用程序。
sys.stdin
sys.stdout
sys.stderr
从cmd.exe或PowerShell控制台窗口启动时,执行是同步的:请参阅下面eryksun的第一条注释。
cmd.exe
pythonw.exe是一个用于在所有脚本中启动GUI/no UI的GUI应用程序。
print()
pythonw.exe yourScript.pyw 1>stdout.txt 2>stderr.txt
cmd /c pythonw.exe yourScript.pyw 1>stdout.txt 2>stderr.txt
pythonw.exe yourScript.pyw 1>NUL 2>&1
*.pyw
您可以通过选择正确的文件扩展名来控制默认情况下运行脚本的可执行文件:
*.py
请看这里:http://docs.python.org/using/windows.html
pythonw.exe“这会在启动时抑制终端窗口。”
如果不希望在运行程序时弹出终端窗口,请使用
pythonw.exe
;否则,使用
python.exe
关于语法错误:
print
is now a function in 3.x因此,请使用:
总结和补充现有答案:
python.exe
是用于启动CLI类型脚本的控制台(终端)应用程序。python.exe
将打开一个新的控制台窗口。sys.stdin
、sys.stdout
和sys.stderr
连接到控制台窗口。从
cmd.exe
或PowerShell控制台窗口启动时,执行是同步的:请参阅下面eryksun的第一条注释。pythonw.exe
是一个用于在所有脚本中启动GUI/no UI的GUI应用程序。sys.stdin
、sys.stdout
和sys.stderr
不可用。print()
就可能导致这种情况发生(在3.x中,print()
根本没有效果)。pythonw.exe yourScript.pyw 1>stdout.txt 2>stderr.txt
(来自PowerShell:
cmd /c pythonw.exe yourScript.pyw 1>stdout.txt 2>stderr.txt
)以捕获文件中的stdout和stderr输出 如果您确信使用print()
是脚本在pythonw.exe
中无声失败的唯一原因,并且您对stdout输出不感兴趣,请使用注释中的@handle命令:pythonw.exe yourScript.pyw 1>NUL 2>&1
警告:当直接调用
*.pyw
脚本时,此输出重定向技术不起作用(而不是通过将脚本文件路径传递给pythonw.exe
)。请参阅eryksun的第二条评论及其后续内容。您可以通过选择正确的文件扩展名来控制默认情况下运行脚本的可执行文件:
*.py
默认情况下,文件与python.exe
关联(调用)*.pyw
默认情况下,文件与pythonw.exe
关联(调用)请看这里:http://docs.python.org/using/windows.html
pythonw.exe“这会在启动时抑制终端窗口。”
相关问题 更多 >
编程相关推荐