【问题标题】:Take output of command as input of next command将命令的输出作为下一个命令的输入
【发布时间】:2014-07-25 17:39:50
【问题描述】:

如果我有一个调用 bash 脚本的 python 脚本,并且那个 bash 脚本会下载一个文件来创建一个文件,那么我下次调用它时如何将新创建的文件作为 bash 脚本的输入。

【问题讨论】:

  • 你能展示你目前拥有的东西吗?答案可能取决于您如何发出对 bash 的调用——例如你在使用subprocess(如果没有,你应该是;)还是别的什么?
  • 我正在使用 os.system。由于各种原因无法发布代码,抱歉:(
  • 引用docs for os.system:“subprocess 模块为生成新进程和检索其结果提供了更强大的工具;使用该模块比使用此功能更可取。”
  • 从来没有弄清楚如何使用子进程。另外,我是一名实习生,我的主管建议在子进程上使用 os.system。不过,我将链接到子流程。我将如何使用子流程来做我想做的事?

标签: python input output


【解决方案1】:

os.system 允许命令行重定向:

os.system('download-file.sh /tmp/file')  # Creates /tmp/file
os.system('read-file.sh < /tmp/file')    # reads from file

【讨论】:

  • 或者您可以直接通过管道传输...os.system('download-file.sh | read-file.sh')
  • @mgilson 你能解释一下那个代码吗?
猜你喜欢
  • 2016-08-22
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
相关资源
最近更新 更多