stdout을 배열로 반환하는 popen()을 사용하는 함수가 있습니다. Python3 께 배열을 사용파이썬 배열 요소 앞에 'u'가 붙습니다.
는어디에있는 'U'
def exe(cmd):
from subprocess import Popen, PIPE, STDOUT
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
arr = p.stdout.read().decode().split("\n")
print(arr)
del arr[-1]
if(arr[0]=='not found.'): arr = [];
return arr
[u'10-000801d5a12d ', U' ']로 정확하게 복귀되지만, 파이썬 2.7 아래의 각 요소는 접두어 이 'u'가 나오고 어떻게 막을 수 있습니까?
당신은 그것을 막지 못합니다. 목록을 인쇄하면 값이 아닌 내용의 표현이됩니다. – Matthias
부분적으로 만 뺨을 때리는 답변 - Python 3.x를 전환하여 방지하십시오! 제가 아는 한, 3.x 이전의 Python에 대한 최악의 점은 문자열의 유니 코드 지원이었습니다. – rlms