确定环境python运行

我正在写一个python程序,我想运行不同,无论它运行在Windows命令提示符或Windows PowerShell的。 我想知道是否有一种方法来确定在程序内运行的环境python。

提前致谢!

首先使用此代码来获取您的父进程ID。 然后打电话:

if ("powershell.exe" in os.popen("tasklist /fi \"PID eq %d\"" % parentPID).read()) { # We're a child of powershell!! ... } 

虽然说实话,如果你是由PowerShell运行,执行的方式有点奇怪。 你应该认真考虑为什么你要这样做,并评估你是否做了不必要的事情。

如果你想要的平台(这是你的最后一个陈述),平台模块通常会告诉你你想知道什么。

 >> import platform >> platform.architechture() ('64bit', 'WindowsPE') 

请注意,从文档 ,它建议您使用is_64bits = sys.maxsize > 2**32为Mac来确定64位与32位。

你可以尝试一个解决方案。 您可以从Python代码中调用一些PowerShell命令作为Write-Host(回声等效于cmd),并获得调用结果。 如果失败则不是PowerShell。 (我现在无法测试)。

你应该认真的只是在调用你的脚本时添加另一个参数。

当在脚本中时, sys.args变量会给你所有传递给脚本的参数(首先总是脚本的名字)。

还有图书馆optparse可以帮助你的工作…..

你在做什么不是一个好的做法:P完全相反:)不管怎么说,不要太费劲,我的意思是我不知道你在做什么,但这听起来像是一个危险的想法。