带有子流程模块的流程永不停止运行 - python

我刚刚开始在Python 3上使用子流程模块,但我不知道它是如何工作的。
这是我编写的用于打开和关闭USB端口的功能。它可以工作,但随后会无限期运行,除非强制使用Ctrl + C使其停止,否则我无法做任何其他事情。打印语句也永远不会被调用:

def usb_power_toggle(s):
    power_off, power_on = "echo '1-1' |sudo tee sys/bus/usb/drivers/usb/unbind", "echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/bind"
    if s == "off":
        subprocess.run(power_off, shell = True)
        print("USB power off!")
    elif s == "on":
        subprocess.run(power_on, shell = True)
        print("USB power on!")
    else:
        raise ValueError

有人知道问题是什么吗?您能告诉我在完成应有的操作后如何关闭该过程吗?

python参考方案

只需使用popen

    def usb_power_toggle(s):
       from os import popen
       power_off, power_on = "echo '1-1' |sudo tee sys/bus/usb/drivers/usb/unbind", "echo '1-1' |sudo tee /sys/bus/usb/drivers/usb/bind"
       if s == "off":
           popen(power_off)
           print("USB power off!")
       elif s == "on":
           popen(power_on)
           print("USB power on!")
       else:
           raise ValueErro

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

如何在python中将从PDF提取的文本格式化为json - python

我已经使用pyPDF2提取了一些文本格式的发票PDF。我想将此文本文件转换为仅包含重要关键字和令牌的json文件。输出应该是这样的:#PurchaseOrder {"doctype":"PO", "orderingcompany":"Demo Company", "su…

查找字符串中的行数 - python

我正在创建一个python电影播放器​​/制作器,我想在多行字符串中找到行数。我想知道是否有任何内置函数或可以编写代码的函数来做到这一点:x = """ line1 line2 """ getLines(x) python大神给出的解决方案 如果换行符是'\n',则nlines …

字符串文字中的正斜杠表现异常 - python

为什么S1和S2在撇号位置方面表现不同?S1="1/282/03/10" S2="4/107/03/10" R1="".join({"N\'" ,S1,"\'" }) R2="".join({"N\'…