While和If循环一行

时间:2018-11-22 07:18:43

标签: python python-2.7

我创建了一个客户端服务器应用程序,当我需要更新客户端代码时,我将使用字符串匹配项推送更新,并且只要该字符串与无限运行的客户端代码匹配都将进行处理。 更新只不过是其中包含python代码的字符串,我们这样说:

while True:
    if data == "exit":
        connection_status = 'Exit Request Received, Exiting'
        MessageBox(None, connection_status, "Connection Status", 0x40000 | MB_OK | ICON_STOP)               
        break

在我的客户主代码中,我有这样的东西:

if 'update' in data:
    new_source = data.split('###_CODEBLOCK_###')
    exec(new_source[1]) 

从服务器上,我正在发送如下内容:

Enter you Message  : update code is here ###_CODEBLOCK_###while True : if data == "mad": connection_status = "Exit Request Received, Exiting" ; MessageBox(None, connection_status, "Connection Status", 0x40000 | MB_OK | ICON_STOP) ; break

问题:

  1. CLI不喜欢换行,因此我必须使用单线python代码来实现此目的

  2. 因为它是单行的,而while和if循环是复合语句,我不能以我的方式使用它们,所以我需要知道如何在单行代码中实现它< / p>

  3. 这真的是发送更新的好方法吗?这对我来说是个奖励问题,如果您不回答,那很好

1 个答案:

答案 0 :(得分:1)

您可以在Python中使用exec()函数并将多行代码转换为单行字符串,以用作exec()参数。确保使用\n来表示换行符,并仍然保持适当的间距来表示缩进。