如何在PIN码系统中通过subprocess传递选项执行外部Python文件
解决方案
- 直接在
subprocess.Popen的参数列表里添加选项标识字符串即可,比如用"lock1"、"lock2"、"lock3"、"lock4"对应四个操作选项(也可以用更简洁的"1"、"2"、"3"、"4")。示例代码如下:
当校验通过对应第一个锁时:subprocess.Popen(['python', 'File2.py', 'lock1']) - 在File2中,通过
sys.argv读取传递的选项参数,再分支执行对应逻辑,示例代码:import sys if __name__ == "__main__": # sys.argv[0]是脚本文件名,sys.argv[1]是传递的选项参数 if len(sys.argv) < 2: # 处理无参数传入的异常情况 exit() option = sys.argv[1] if option == "lock1": # 执行第一个电磁锁的对应操作 pass elif option == "lock2": # 执行第二个电磁锁的对应操作 pass elif option == "lock3": # 执行第三个电磁锁的对应操作 pass elif option == "lock4": # 执行第四个电磁锁的对应操作 pass - 注意点:
- 传递的选项字符串要和File2中的判断值完全匹配,大小写敏感
- 建议在File2中先判断参数是否存在,避免因参数缺失触发索引越界错误
内容的提问来源于stack exchange,提问作者Paxton
相关产品推荐
相关产品推荐

