如何使用python将(cmd)执行的命令存储到变量中?

我已经试过了

import os
os.system('tree D://')

但它只是执行我的命令。我不能将其存储到变量中。 我要做的是制作一个程序,该程序可以树状本地(例如C://)驱动器并搜索指定的文件(就像本地搜索引擎一样) 我这样做是因为我厌倦了Windows文件管理器的搜索时间。 而且不要告诉我我的程序也会很慢。因为它会很快。 你们都给我下面我想要的代码。 感谢您阅读本段。 祝你有美好的一天。 🙂

评论
  • ﹏執念
    ﹏執念 回复

    你可以试试看

    import subprocess
    process = subprocess.Popen(['tree','D://'], stdout=PIPE, stderr=PIPE)
    stdout, stderr = process.communicate()
    

    stdout应该包含命令的输出

  • uin
    uin 回复

    os.system不是派生或生成新进程的首选方法。对于新过程,请使用“打开”。您可以在这里查看python文档。

    import subprocess
    command = "tree ...whatever"
    p = subprocess.Popen(command, shell=True)
    
    #if you need to communictae with the subprocess use pipes, see below:
    p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
    p.communicate()
    
  • 唯一的幸福
    唯一的幸福 回复

    尝试(对于Python3.7 +):

    import subprocess
    data = subprocess.run(["tree", "D://"], capture_output=True)
    

    对于Python <3.7:

    import subprocess
    data = subprocess.run(["tree", "D://"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)