Đây có lẽ là một cái gì đó thực sự cơ bản, nhưng tôi không thể tìm thấy một giải pháp tốt cho nó. tôi cần phải viết một kịch bản python mà có thể nhận tín hiệu vào từ một đường ống như thế này:Cách chuyển hướng đầu ra của lệnh shell vào đầu vào tập lệnh Python?
$ some-linux-command | my_script.py
một cái gì đó như thế này:
cat email.txt | script.py
Hoặc nó sẽ chỉ được đường ống bởi tập tin .forward tôi trực tiếp từ sendmail . Điều này có nghĩa là tệp đầu vào có thể là một cái gì đó tương đối lớn nếu nó có tệp đính kèm, và nó có thể là một e-mail, sau này tôi sẽ phải đưa vào cơ sở dữ liệu người gửi, chủ đề và như vậy, nhưng tôi đã viết các kịch bản cơ sở dữ liệu trong python, do đó, một phần sẽ được OK. Vấn đề chính là làm thế nào để nắm bắt dữ liệu chảy vào từ ống.
tại sao bạn được gắn cố định trên đường ống, bạn không thể viết kết quả đó vào tệp và thực hiện các thao tác trên đó, sau này? –
@SrinivasReddyThatiparthy: ống là bản chất của Unix, nhận xét của bạn không hợp lệ. – Stan