2

Python でシリアル ポートを読み取り、readline で結果を出力したいのですが、すべての結果行の間に空の行が表示されます。空行をすべて削除する方法を教えてください。

私のコード:

#!/usr/bin/python

import serial
import time
import sys

ser = serial.Serial("/dev/ttyACM0", 9600)

print ser.readline()
print ser.readline()
print ser.readline()
print ser.readline()
print ser.readline()

後ろからいくつかの回答を試みましたが、まだ空の行がありました。私のtxtファイルは次のようになります:

T:  59.30%  22.20 8% 11% N 

T:  59.80%  22.20 8% 11% N 

T:  59.80%  22.20 8% 11% N 

T:  59.80%  22.20 8% 11% N 

しかし、次のようなファイルが必要です:

T:  59.30%  22.20 8% 11% N 
T:  59.80%  22.20 8% 11% N 
T:  59.80%  22.20 8% 11% N 
T:  59.80%  22.20 8% 11% N     

編集:

その問題を解決する方法を見つけました:

    line = ser.readline().decode('utf-8')[:-2]

今はうまくいきます。この -2 delete /n だけです。

4

4 に答える 4

3

また:

import serial

with serial.Serial("/dev/ttyACM0", 9600) as ser:
    for line in ser:
        print line.rstrip('\n')

また

import serial

with serial.Serial("/dev/ttyACM0", 9600) as ser:
    for line in ser:
        print line,
于 2013-05-12T17:13:18.437 に答える
2
while True:
    line = ser.readline()
    if not line.strip():
        continue
    do_something_with(line)
于 2013-05-12T16:34:38.137 に答える