【问题标题】:redirecting system call output in python在python中重定向系统调用输出
【发布时间】:2011-05-20 15:20:13
【问题描述】:

我希望在 python 中执行 os.system('ls')。此语句的返回值是一个错误代码整数..但我想将当前目录的内容作为字符串获取。如何做到这一点?

【问题讨论】:

    标签: python redirect pipe system-calls


    【解决方案1】:

    os.listdir(".")


    一般来说,如果你想调用一个函数并获取参数,你应该使用subprocess.Popen()。但是很多基本目录的东西都在os 模块中,所以你不必这样做。

    【讨论】:

    • subprocess.Popen() 调用程序而不调用函数。无论如何,它可以让你捕获它的输出,但是 Python 的 os.listdir() 将是更好地完成 OP 想要做的事情(如前所述)。
    【解决方案2】:

    Python 作为内置功能,如 os.listdir() 或 os.walk() 用于列出内容 在文件系统上。自己运行“ls”是非常糟糕的风格。一般来说,查看 subprocess 模块的文档,为您提供与外部命令交互的所有灵活性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2010-10-14
      相关资源
      最近更新 更多