나는 시스템이 소켓을 만들고 트럭과 자동차에 설치된 추적기에서 정보를받는 파이썬으로 하나의 시스템을 사용했습니다.문자열에서 r을 벗겨 내지 못함
이러한 추적기 중 하나는 구분 기호로 \r
과 함께 문자열을 보냅니다. 그러나,이 문자열을 얻을 때 해당 문자열을 \r
로 분할하려고 시도하지만 작동하지 않습니다.
그래서 내 문자열에서 이러한 문자를 제거하려고하지만 또한 작동하지 않습니다. 여기에 내 코드의 작은 조각이다 :
try:
self.msg = self.client_conn.recv(settings.CONNECTION["BYTES_TO_RECEIVED"])
# Se não ter nenhuma mensagem, sai fora do loop
if not self.msg:
break
# Faz a validação da mensagem
if self.validate_message():
# Loop para passar por cada linha
for self.msg in self.split_messages():
# Remove outros caracteres
self.msg = str(self.msg).strip('\r\n').replace("\r", "")
print "Mensagem: " + repr(self.msg)
# Insere na fila
self.insert_queue()
# Continua o loop
continue
except:
# Insere nos logs
logger.Log(
logger.Log.LISTENER,
logger.Log.WARNING,
"O TRACKER %s:%s FECHOU A CONEXÃO" % self.client_info
)
# Sai do loop
break
split_message라는
내 기능이 있습니다 :
난 내 데이터베이스에서이 문자열을 저장할 때def split_messages(self):
# Retorna o split das linhas
return self.msg.split('\\r')
그래서, 내 메시지를 갈라되지 않고, 내가 얻을 일부 마지막에 문자 :
가 어떻게이 문제를 해결할 수 있습니까? 나는 붙어있다.
가끔은 문자열이 "ASDASD \ rDSADAFJASF \ rSDAHGYSD"와 같이 나타납니다. 그래서, 그 이유는 내가 먼저 분할하려고 –
그 경우에는 그냥 your_string.splitlines()를 사용하십시오. –