如何在Python中通过shell管道接收参数?
我想做类似这样的事情:
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