python udp通信 将接收到的命令 逐行保存在txt文本,并且按当天日期保存
时间: 2023-12-19 18:07:34 浏览: 50
python 通过UDP发送与接收.rar
以下是一个简单的示例,演示如何使用 Python 的 socket 模块来接收 UDP 命令,并将接收到的命令按照当天日期保存到文本文件中:
```python
import socket
import datetime
# 获取当天日期
today = datetime.date.today()
date_string = today.strftime('%Y-%m-%d')
# 创建 UDP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定到本地地址和端口
local_addr = ('', 8888)
sock.bind(local_addr)
# 从套接字接收数据并保存到文本文件
filename = f'{date_string}.txt'
with open(filename, 'a') as f:
while True:
data, addr = sock.recvfrom(1024)
cmd = data.decode('utf-8')
f.write(cmd + '\n')
```
在上面的示例中,我们首先使用 `datetime.date.today()` 函数获取当天日期,然后使用 `strftime()` 方法将其格式化为字符串,例如 `'2022-02-20'`。这个字符串用于作为文件名中的日期部分。
然后,我们创建了一个 UDP 套接字,并将其绑定到本地地址和端口。接着,我们循环接收从套接字中接收到的数据,并将其解码后按行写入以当天日期为文件名的文本文件中。
注意,上面的示例中使用了 `f'{date_string}.txt'` 表达式来构建文件名,其中 `{date_string}` 表示插入当天日期的字符串。如果文件不存在,该语句会自动创建一个新文件。
阅读全文