如何在Python中通过shell管道接收参数?

16 投票
5 回答
17971 浏览
提问于 2025-04-16 18:13

我想做类似这样的事情:

find -name "foo*" | python main.py

然后访问所有被查找程序找到的文件。我该如何在Python中访问这些文件呢?

5 个回答

4

我喜欢用 $(...) 这种方式来处理命令行参数,特别是当这些参数需要依赖其他程序的输出时。我觉得你可以这样用你的程序:python main.py $(find -name "foo*")。具体的内容可以在 这里 找到。

4

使用 sys.stdin.read() 或 raw_input()。

管道的作用就是把标准输入(stdin)的文件指针指向一个管道,这样左边的命令就可以把数据写入这个管道。

21

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如说,可能会出现错误提示,或者程序运行不如预期。这时候,我们可以去一些技术论坛,比如StackOverflow,去寻找解决方案或者询问其他开发者的意见。

在这些论坛上,大家会分享自己的经验和解决办法,甚至会提供一些代码示例,帮助你更好地理解问题所在。你只需要把你的问题描述清楚,其他人就可能会给你一些有用的建议。

总之,遇到问题不要慌,去社区寻求帮助是一个很好的选择。记得把问题描述得详细一些,这样别人才能更好地理解你的困惑。

import sys
for line in sys.stdin:
    print line

撰写回答