vin1024 2023-10-03 13:01 采纳率: 0%
浏览 6
已结题

psychopy(python为基础的)中引入cmd

我在做一个实验程序,需要根据实验反馈控制插座的开关,我选择了小米智能插座,并可以通过python的miio包的代码对其进行控制。如下:

miiocli -d device --ip‘IP’ --token ‘TOKEN' ’ '' raw_command get_properties "[{'did': 'MYDID', 'siid': 2, 'piid': 1 }]"

 然而我发现这个控制插座的代码只能在cmd中运行,而不能在python中也不能在psychopy中运行,显示的错误是/* Syntax Error: Fix Python code */

img

img

不知道是miio包的调用问题还是什么,因为即使我引入了miio包以及引入了cmd,结果依然是这样。

img

  • 写回答

14条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-03 13:04
    关注
    获得0.60元问题酬金

    引自强大而免费的微信小程序:皆我百晓生。如有帮助,还望采纳。


    问题可能是由于在Psychopy中无法直接运行cmd命令导致的。你可以尝试使用Python内置的subprocess模块来执行CMD命令。

    下面是一个简单的示例,演示如何使用subprocess模块在Python中运行CMD命令:

    import subprocess
    
    # 定义要执行的CMD命令
    command = 'miiocli -d device --ip‘IP’ --token ‘TOKEN' ’ '' raw_command get_properties "[{'did': 'MYDID', 'siid': 2, 'piid': 1 }]"'
    
    # 使用subprocess模块执行CMD命令
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    output, error = process.communicate()
    
    # 输出CMD命令的执行结果
    print(output)
    print(error)
    

    你需要将command变量替换为你实际的CMD命令。

    注意,在使用subprocess执行CMD命令时,需要设置shell=True参数,并使用Popen函数捕获输出。这样,你就可以获得CMD命令的输出结果。

    如果你仍然遇到问题,请确保你已经正确安装了miio包,并在Python脚本中正确导入了该包。

    评论

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 修改了问题 10月3日
  • 修改了问题 10月3日
  • 修改了问题 10月3日
  • 展开全部