python - While 和 If 在一行中循环
问题描述
我创建了一个客户端服务器应用程序,当我需要更新客户端代码时,我正在使用字符串匹配推送更新,并且只要该字符串与无限运行的客户端代码进程匹配。更新只不过是一个包含 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
问题 :
CLI 不喜欢换行,因此我必须使用单行 python 代码来实现这一点
因为,它是单行代码,而 while 和 if 循环是复合语句,我不能按照我输入的方式使用它们,所以我需要知道如何在一行代码中实现它
这真的是发送更新的好方法吗?这对我来说是一个额外的问题,如果你不回答,那很好
解决方案
您可以在 Python 中使用exec()函数并将该多行代码转换为单行字符串以用作exec()
参数。确保您使用\n
来指示换行符并仍然保持适当的间距来指示缩进。
推荐阅读
- python - 如何在python中将二维数组转换为一维?
- java - Nodejs 中的 Java UUID 实现
- python - 无法打开最近创建的云功能进行编辑/更新,但功能仍然触发成功
- listview - Flutter ListView 和 List Widget
- tfs - 在 TFS 构建中找不到 NuGet 包版本?
- apache-flink - flink 1.3.3 需要一个 prometheus 库
- javascript - 如何使用 IIS 成功运行节点服务器?
- c++ - 如何提高文件的读取速度?
- angular - 订阅中的表单组问题:错误类型错误:无法读取未定义的属性“获取”
- python - 使用 Python 的 Microsoft Teams 机器人