1

请原谅我的无知,因为我仍然是编码的初学者。

我正在尝试使用 py2exe 将我编写的 python 脚本转换为 Windows 可执行程序。但是,尽管我能够成功转换脚本,但可执行文件似乎并没有完全发挥作用。

经过多次调试,我已经隔离了原因,下面的代码似乎是问题所在

host = str(raw_input('Enter Host IP Address: ')) 
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host, 5000))

当脚本从 Pydev 本身执行并且脚本能够正常运行时,不会出现此问题。作为控制台应用程序的 Windows 可执行文件在尝试连接到另一台主机时会挂起。

这是一个已知问题还是我做错了什么?任何帮助深表感谢。

4

1 回答 1

1

可以输入IP地址吗?阅读该线程似乎 py2exe 需要一个特殊的windows参数来启动控制台。否则, raw_input 会尝试从标准输入中读取数据,然后因为找不到任何内容而挂起/崩溃。

鉴于线程的年龄,我检查了py2exe doc:您可能想尝试将脚本放在控制台属性中。

我真的认为该行为与 raw_input 有关,并且它不是由套接字操作引起的。

于 2009-05-31T12:00:44.037 回答