在Redh中使用python组件查找自由端口

2024-10-04 03:19:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在处理一个项目,该项目要求我编辑一个配置文件,以替换正在使用的旧标准端口号。我目前使用的代码如下:

import os
import sys
import socket
import select
import tempfile
import subprocess
import threading
import Queue
import time
import fileinput

。。。你知道吗

def find_open_port():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("",0))
s.listen(1)
tempport = s.getsocketname()[1]
s.close()
return tempport

当我从我的Ubuntu机器(Python 2.7.6)上运行它时,它运行得很好,但是在我的CentOS 6 VM上,在我的Redhawk组件中运行,我得到以下结果:

AttributeError:“\u socketobject”对象没有“getsocketname”属性

不太清楚我为什么会犯这个错误。我想说的是,红鹰中的Python运行的是2.6? 关于为什么会发生这种情况以及如何修复,有什么线索吗?你知道吗


Tags: 项目代码import编辑标准os配置文件sys