吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2838|回复: 11
收起左侧

[求助] python,KeyboardInterrupt无法触发

[复制链接]
爱喝牛奶的小孩 发表于 2021-1-6 09:32
本帖最后由 爱喝牛奶的小孩 于 2021-1-6 15:00 编辑

try:
    while True:
        # 接收数据:
        ......
except KeyboardInterrupt:
    print("接收  " + str(x) + "  请求")
    print("出错  " + str(i) + "  条数据")

想用KeyboardInterrupt来退出循环然后输出,在pycharm中运行后,Ctrl+F2、Ctrl+C、Ctrl+Z均没有效果

在终端运行也不行,powershell也不行

系统win10,但在同事的macbook上可以正常的触发,有解决方法么?





发现了,我在try中执行的时UDP服务端的接收

data, addr = UDP_service.recvfrom(2048)

不做这个操作的时候是可以正常触发KeyboardInterrupt的,加上之后就失效

全部代码在这:

服务端:
import socket

UDP_service = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
UDP_service.bind(('127.0.0.1', 5678))x = 0
while True:
    try:
        # 接收数据:
        data, addr = UDP_service.recvfrom(2048)        
        x = x + 1        
        print('接收到  %s:%s  的数据' % addr)   
    except KeyboardInterrupt:        
        print("接收  " + str(x) + "  数据")

客户端:
import socket
sendData = b'\x1f\x1f\x1f\x1f'
UDP_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for i in range(0, 100):
    UDP_client.sendto(sendData, ('127.0.0.1', 5678))
UDP_client.close()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

6f7a8d 发表于 2021-1-6 09:49
测试了,win10下cmd和powershell都能正常触发,应该是你自己系统环境的问题
rsnodame 发表于 2021-1-6 09:54
试了一下,我这儿windows7环境也没问题

话说用这种办法退出循环不妥吧
 楼主| 爱喝牛奶的小孩 发表于 2021-1-6 09:59
6f7a8d 发表于 2021-1-6 09:49
测试了,win10下cmd和powershell都能正常触发,应该是你自己系统环境的问题

哭泣,我笔记本和台式设备都不能触发
 楼主| 爱喝牛奶的小孩 发表于 2021-1-6 10:01
rsnodame 发表于 2021-1-6 09:54
试了一下,我这儿windows7环境也没问题

话说用这种办法退出循环不妥吧

只是自己这边写个简单的测试,能想到的最简单的退出就这样了
Cool_Breeze 发表于 2021-1-6 10:06

    while True:
try:

        # 接收数据:
        ......
except KeyboardInterrupt:
    print("接收  " + str(x) + "  请求")
    print("出错  " + str(i) + "  条数据")
break
Mystery丶 发表于 2021-1-6 10:48
尽量别写成无限循环,要养成习惯
 楼主| 爱喝牛奶的小孩 发表于 2021-1-6 10:49
Mystery丶 发表于 2021-1-6 10:48
尽量别写成无限循环,要养成习惯

UDP服务端
Mystery丶 发表于 2021-1-6 11:35
Johan_000 发表于 2021-1-6 12:12
这个感觉是系统问题。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 10:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表