2015-03-03 15 views
5

Tôi cố gắng để sử dụng và thao tác đầu ra từ subprocess.check_output() trong python nhưng kể từ khi nó được trả về byte-by-byteParsing Python subprocess.check_output()

for line in output: 
    # Do stuff 

Không làm việc. Có cách nào mà tôi có thể tái tạo lại đầu ra cho các định dạng dòng mà nó có khi nó được in để stdout? Hoặc cách tốt nhất để tìm kiếm thông qua và sử dụng đầu ra này là gì?

Cảm ơn trước!

Trả lời

7

subprocess.check_output() trả về một chuỗi đơn. Sử dụng str.splitlines() method để lặp qua các dòng riêng lẻ trong chuỗi đó:

for line in output.splitlines(): 
+0

Bạn là người đàn ông! Cảm ơn. Biết rằng phải có một hàm đơn giản như splitlines() cho điều này: D – DJMcCarthy12