SyntaxError:将字符串转换为int

时间:2016-02-18 18:27:37

标签: python syntax-error

我在python中编写了一段代码,当我让它运行时,我得到以下消息:

File "port.py", line 229
    port = (int) a
                 ^
SyntaxError: invalid syntax

由于代码有点太长,我只给出以下部分中的重要部分:

try:
        opts, args = getopt.getopt(sys.argv[1:], 'hle:t:p:cu:',
                                   ['help','listen','execute', 'target',
                                    'port', 'command', 'upload'])
    except getopt.GetoptError as err:
        print(str(err))
        usage()

    for o,a in opts:
        if o in ('-h', '--help'):
            usage()
        elif o in ('-l','--listen'):
            listen = True
        elif o in ('-e', '--execute'):
            execute = a
        elif o in ('-c','--commandshell'):
            command = True
        elif o in ('-u','--upload'):
            upload_destination = a
        elif o in ('-t','--target'):
            target = a
        elif o in ('-p','--port'):
            port = (int) a
        else:
            assert False,'Unhandled Option'

因此, a 应该是具有字符串类型的端口号。所以,我认为我应该施展它。

python的版本是2.7.3。

我无法弄清楚出现错误消息的原因。我希望有人可以提供帮助。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:2)

要从字符串int创建新的a对象,请使用

port = int(a)