2017-03-30 8 views
1

파이썬으로 쉘 코드를 인쇄하려하지만, 종단 코드 \x0a이 추가됩니다. 터미네이터없이 인쇄 할 수 있습니까?터미네이터가없는 파이썬 인쇄 바이트

# cat test.py 
print(b'\x41\x41\x41\x41') 

# python test.py |xxd -g1 
0000000: 41 41 41 41 0a         AAAA. 

# python test.py | wc 
    1  1  5 

답변

1

0x0A는 파이썬이 인쇄 문에 자동으로 추가하는 줄 바꿈 (LF, \ n)입니다.

파이썬 3의 경우 print(..., end="")을 사용하십시오.

파이썬 2 년과 같이 쉼표로 인쇄 문을 종료 :

print "abc", 

그러나, 파이썬은 여전히 ​​종료 할 때 줄 바꿈을 인쇄하려고합니다. sys.stdout.write()을 사용하는 것이 더 나을 수도 있습니다.

+0

감사합니다. 파이썬 2에 대한 예제를 제공해 줄 수 있습니까? 나는 몇 가지 다른 방법으로 쉼표로 끝내려고했는데 그것을 올바르게 롤 볼 수 없습니다. 나는 당신이'from __future__ import print_function'을 통해서 새로운 print 함수를 import 할 수 있다고 생각합니다. 그리고 print는 python처럼 동작 할 것입니다. – Nitro

+0

분명히 Py2는 끝날 때 줄 바꿈을 인쇄하는 것을 좋아합니다. 보십시오 :'print "abc",','print "def"'- 줄 바꿈이 없을 것입니다 (두번째 줄부터 공간이 생깁니다). 내 대답을 바로 잡았어. – DimeCadmium

+0

(일반적으로 파이썬 2에서의 인쇄는 사람이 사용하기위한 것입니다. 줄 바꿈으로 끝나는 터미널의 일관성을 유지하려고합니다.) 줄 바꿈으로 끝나는 – DimeCadmium