![奇怪的任务计划程序和 Python 行为](https://linux22.com/image/1616929/%E5%A5%87%E6%80%AA%E7%9A%84%E4%BB%BB%E5%8A%A1%E8%AE%A1%E5%88%92%E7%A8%8B%E5%BA%8F%E5%92%8C%20Python%20%E8%A1%8C%E4%B8%BA.png)
我正在寻找有关 Windows 任务计划程序自动执行 Python 脚本的建议。
任务非常简单:每天固定时间通过无线网络发送 TCP 命令来打开或关闭设备(视频投影仪)。
当前设置:Windows 任务计划程序执行 Python 脚本。
现在的情况:
- 手动执行时脚本运行成功
- 当手动运行任务计划程序中命令其执行的任务时(即手动单击此任务的“运行”按钮),脚本成功运行
- 当命令其执行的任务由任务计划程序自动运行时,该脚本无法成功运行:仅关闭第一个设备。
- 投影机开启脚本似乎运行正常
第 2 点告诉我这不是管理员权限问题,网络设置正确,IP 地址正确等 - 但我没有主意了。
我尝试使用 Wireshark 跟踪其中一台故障设备上的 TCP 流量,但尚未发现任何有用的信息。Windows 事件查看器也是如此。我运行的是 Windows 10。
下面粘贴了小“关闭”脚本。“打开”脚本本质上是相同的,只是消息不同。
import socket
IP_1 = '192.168.0.41'
IP_2 = '192.168.0.42'
IP_3 = '192.168.0.43'
TCP_PORT = 33336
#BUFFER_SIZE = 1024
MESSAGE = 'POWER=OFF\r'
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s1.connect((IP_1, TCP_PORT))
s1.send(MESSAGE.encode())
s1.close()
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2.connect((IP_2, TCP_PORT))
s2.send(MESSAGE.encode())
s2.close()
s3 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s3.connect((IP_3, TCP_PORT))
s3.send(MESSAGE.encode())
s3.close()
感谢您的帮助