如何在Python中检查代码是在本地运行还是在集群上运行

如何在Python中检查代码是在本地运行还是在集群上运行,python,cluster-computing,Python,Cluster Computing,我有一个python脚本,可以在本地机器和计算集群上运行。我正在寻找一种有效的方法来检查脚本是否在本地运行。最好的解决办法是什么? 我想传递一些硬件信息并检查它是否已更改,但肯定有比这更优雅的解决方案。您可以使用os模块检查它运行的机器的主机名 import os os.system('hostname') 这将把主机名输出到控制台 如果要捕获输出,请使用.popen如下所示: a=os.popen('hostname').read() 这将返回一个字符串,您可能需要将其编码为utf-

我有一个python脚本,可以在本地机器和计算集群上运行。我正在寻找一种有效的方法来检查脚本是否在本地运行。最好的解决办法是什么?
我想传递一些硬件信息并检查它是否已更改,但肯定有比这更优雅的解决方案。

您可以使用
os
模块检查它运行的机器的主机名

 import os
 os.system('hostname')
这将把主机名输出到控制台

如果要捕获输出,请使用
.popen
如下所示:

 a=os.popen('hostname').read()
这将返回一个字符串,您可能需要将其编码为
utf-8
,使其可读性如下:

 print(a.encode('utf-8'))

但最后一点仅适用于操作系统语言具有特殊字符的配置,例如,您可以在集群/本地计算机上设置环境变量,然后让脚本检查该变量以确定其位置:

import os

where_am_i = os.getenv('WHEREAMI')


if where_am_i == 'cluster':
    # Do the cluster stuff
else:
    # Do the local machine stuff