我目前正在处理一个项目,该项目要求我编辑一个配置文件,以替换正在使用的旧标准端口号。我目前使用的代码如下:
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? 关于为什么会发生这种情况以及如何修复,有什么线索吗?你知道吗
您的代码调用了getsockname方法,但您的错误是getsocketname,您确定在将其写入Redhawk时复制了它吗?你知道吗
相关问题 更多 >
编程相关推荐