我目前正在开发一个项目,该项目要求我编辑一个配置文件,以便在使用该端口时替换旧的标准端口号。我目前使用的代码如下:
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)运行它时,运行正常,但在我的Redhawk组件中运行的CentOS 6 VM上,我得到以下结果:
AttributeError:' _socketobject'对象没有属性' getsocketname'
我不确定为什么会收到此错误。 Redhawk中的Python运行2.6我想说? 任何线索,为什么会发生这种情况以及如何解决?
答案 0 :(得分:0)
您的代码调用方法getsockname,但您的错误显示getsock et 名称,您确定在将其写入Redhawk时将其复制了吗?