如何修改代码,使我不必卸载pycharm?

问题描述 投票:0回答:1

我在Python中运行了这段代码,作为异常处理的一部分,在一个会话中,在 复数视力 但现在即使写了一个错误的代码,结果也是OK的,例如:hello world没有打印语句给我的退出代码0

能否请教一下?

代码 。

try:
    import msvcrt

def getkey():
    return msvcrt.getch()


except ImportError:
    import sys
    import tty
    import termios
    def getkey():
        fd=sys.stdin.fileno()
        original_attributes =termios.tcgetattr(fd)
        try:
            tty.setraw(sys.stdin.fileno())
            ch = sys.stdin.read(1)
        finally:
            termios.tcsetattr(fd, termios.TCSADRAIN, original_attributes)
            return ch
exception try-catch python-3.8
1个回答
0
投票

你需要首先确保你的代码的缩进是正确的。

例如 get_key 函数应该同时定义在 try 的情况下,并在 catch,在 catch 的情况下,你在 catch 语句下正确地缩进了它,但对于 try 的情况下,你把它放在了与 try 本身,对于解释者来说,这意味着函数定义与 try 因此,它抛出了一个错误,因为你不应该在 try 和 catch 语句之间添加代码。

重写你的程序

try:
    import msvcrt

    def getkey():
       return msvcrt.getch()


except ImportError:
    import sys
    import tty
    import termios
    def getkey():
        fd=sys.stdin.fileno()
        original_attributes =termios.tcgetattr(fd)
        try:
            tty.setraw(sys.stdin.fileno())
            ch = sys.stdin.read(1)
        finally:
            termios.tcsetattr(fd, termios.TCSADRAIN, original_attributes)
            return ch

这段代码说,现在,如果我们试图导入库中的 msvcrt 并且成功,那么我们将定义一个函数 get_key 使用库,如果失败了,那么我们将不使用库重新定义它。

© www.soinside.com 2019 - 2024. All rights reserved.