0
everyone! 我有一個python腳本,它處理來自COM端口的輸入。如何在python + linux中監聽port parallel
import sys
for string in sys.stdin:
some_calculation(string)
它運行是這樣的:
cat -v /dev/pts/2 | python3 'process.py'
我想通過使用GNU並行使其平行,例如。 我的方式是這樣的:A |並行B
cat -v /dev/pts/2 | parallel --pipe --recstart '>' python3 process.py
但它不工作。
任何想法? 非常感謝。 更新: 我找到了一些解決方案:
cat /dev/pts/2 | parallel -j2 "echo {} | python3 process.py"
另一條由Inian:
cat -v /dev/pts/2 | parallel --recstart '>' --pipe python3 process.py
它的工作原理!但有些錯誤: parallel:警告:一個完整的記錄在一個塊中不匹配。增加至 - 塊大小1363150. - 塊大小1772096 ... - 塊大小14455562 這是什麼? 謝謝。 – user7198142
@ user7198142:您必須在命令中明確設置'--blocksize'。拋出該警告是因爲它不知道給定並行實例要讀取多少個塊。通常,如果將'--blocksize'設置爲最大記錄大小的至少2倍,則永遠不會看到警告。默認的塊大小是1MB – Inian
謝謝,我會檢查它的答案! 我有最後一個問題,請問:如果我想盡快處理數據,我應該設置什麼(其他somrthing的塊大小),並且輸出只是180字節的行?數據不斷提供。 – user7198142