문제는 제목에.
C:
#include <stdio.h>
int main() {
int i;
for (i=0; i<10; i++) printf(".");
return 0;
}
출력:
..........
Python 에서:
>>> for i in xrange(0,10): print '.'
.
.
.
.
.
.
.
.
.
.
>>> for i in xrange(0,10): print '.',
. . . . . . . . . .
파이썬 '에서' \n '또는' 가 있는 공간, 인쇄하십시오 추가하기에서는 피할 수 있습니까? 이제 그냥 it& # 39 의 예입니다. # 39 don& t tell me, I can 첫 문자열으로 구축하십시오 어졌다면 인쇄하십시오 거잖나. # 39 와 같은 방법을 모르는 " i& append";; d 문자열을 'stdout'.
import sys
sys.stdout.write('.')
연락해야 할 수도 있습니다.
sys.stdout.flush()
'는' stdout 플러시된 수 있도록 지원했다.
파이썬 2.6 에서 가져올 수 있는 '에서' 기능을 인쇄하십시오 파이썬 3:
from __future__ import print_function
아래 3 개 솔루션 Python 이 사용할 수 있습니다.
3, "print" 의 파이썬 함수를 붙여넣습니다 기술서임을 변경되었습니다. 3 의 파이썬 대신 할 수 있습니다.
print('.', end='')
또한 2 단, 파이썬, ve # 39 은 you& future print_function 임포트합니다 사용되는 '에서'.
문제가 있을 경우 = True '키워드' 버퍼링 플러시합니다 추가하기만 출력입니다 플러시합니다 인수 수 있습니다.
print('.', end='', flush=True)
그러나 단 플러시합니다 '키워드' '기능을 사용할 수 없습니다' 에서 '2' 의 파이썬 버전은 인쇄하십시오 임포트된 future. 파이썬 3, 은, 나중에 좀 더 구체적으로 3.3tb 뿐이다. 이전 버전에서 'll call) 을 사용하여 수동으로 플러시하려면 필요한데, you& # 39 를 시s.스트더t.프루시 ()'.
https://docs.python.org/2/library/\_future_.html 1.
귀도 반 로섬 링크를 통해 이 같은 단순한 설명됨 emc. 한다.
Re: C / r 없이 인쇄하십시오 어떻게 해야 할까요?
http://legacy.python.org/search/hypermail/python-1992/0115.html
뭔가 인쇄하려면 아닌 투명지에 자동으로 > 수 있다. >, 케리지리턴 덧붙여집니다 it?
예, 쉼표 덮어쓰기/추가 마지막 인수 후 인쇄하려면. 예를 들어, 이 루프 숫자임 0.9 한 줄에 공백으로 분리된 인쇄합니다. 참고 이 파라메트리스 " print"; 최종 추가하므로 있는 줄 바꿈.
>>> for i in range(10):
... print i,
... else:
... print
...
0 1 2 3 4 5 6 7 8 9
>>>
_Note: 이번 우승으로 질문, 사용법, python 의 printf " _을 " 같은 항목을 used to be?
이후 이리와라 찾는 사람들은 아마도 이 제목을 기준으로, 파이썬 는 printf 스타일 대체.
>>> strings = [ "one", "two", "three" ]
>>>
>>> for i in xrange(3):
... print "Item %d: %s" % (i, strings[i])
...
Item 0: one
Item 1: two
Item 2: three
솜씨 곱합니다 구체화하십시오 값을 수 있습니다.
>>> print "." * 10
..........
인쇄 기능을 사용하여 python3 스타일 python2.6+ () 는 기존 케이워드드 분할합니다 인쇄하십시오 명령문입니다 같은 절실해졌습니다.)
# for python2 to use the print() function, removing the print keyword
from __future__ import print_function
for x in xrange(10):
print('.', end='')
모든 사용자 파일을 별도로 만들어 'printf.py', python2 여러_키워드 인쇄하십시오 망칠 수 없습니다.
# printf.py
from __future__ import print_function
def printf(str, *args):
print(str % args, end='')
그런 다음, 해당 파일을 사용한다.
from printf import printf
for x in xrange(10):
printf('.')
print 'done'
#..........done
Printf 스타일을 보여주는 많은 사례
printf('hello %s', 'world')
printf('%i %f', 10, 3.14)
#hello world10 3.140000
새 (vmware. 파이썬 3.0) '는' 끝 '' 옵션 '기능을 인쇄하십시오 매개변수입니다 기간말 문자 수정할 수 있습니다. # 39, 9월 '에 대해' s 도 there& seperator.
시도해 볼 수 있습니다.
import sys
import time
# Keeps the initial message in buffer.
sys.stdout.write("\rfoobar bar black sheep")
sys.stdout.flush()
# Wait 2 seconds
time.sleep(2)
# Replace the message with a new one.
sys.stdout.write("\r"+'hahahahaaa ')
sys.stdout.flush()
# Finalize the new message by printing a return carriage.
sys.stdout.write('\n')
파이썬 2.6+:
from __future__ import print_function # needs to be first statement in file
print('.', end='')
파이썬 3:
print('.', end='')
파이썬 < = 2.5:
import sys
sys.stdout.write('.')
이후 각 인쇄,) 은 파이썬 2 의 경우 별도의 공간이
print '.',
print('.'), # avoid this if you want to remain sane
# this makes it look like print is a function but it is not
# this is the `,` creating a tuple and the parentheses enclose an expression
# to see the problem, try:
print('.', 'x'), # this will print `('.', 'x') `
필자는 최근 비슷한 문제를 안고 있었다.
나는 그것을 해결할 수행여:
import sys, os
# reopen stdout with "newline=None".
# in this mode,
# input: accepts any newline character, outputs as '\n'
# output: '\n' converts to os.linesep
sys.stdout = os.fdopen(sys.stdout.fileno(), "w", newline=None)
for i in range(1,10):
print(i)
유닉스와 윈도우 모두에서 가능합니다. 아직 이 테스트되었습니다. 켜짐이 에서라도.
하스
위의 모든 대답이 수정하십시오 있는 것을 볼 수 있습니다. 하지만 난 항상 쓰고 싶다고 바로 가기인 ". 끝 = & # 39, & # 39. ". 매개변수입니다 끝.
같은 함수를 정의할 수 있습니다.
def Print(*args,sep='',end='',file=None,flush=False):
print(*args,sep=sep,end=end,file=file,flush=flush)
모든 받아들일 수가 매개변수입니다. 심지어 같은 또 다른 모든 매개변수입니다 동의하십시오 플러시합니다 등과 같은 이름의 파일을.
@lenooh 달성됨 내 질의입니다. # 39, & # 39 이 기사를 검색하는 동안 우리 사회의 파이썬 억제할지 newline&;. # 39 m, 파이썬 3.2 를 사용하여 개발할 수 있는 라즈베리 파이 i& IDLE3 PuTTY. Putty 명령행을 진행률 표시줄이 있는 만들고 싶었다. 내가 didn& # 39, t 다운로드하려는 페이지 스크롤하지 하였다. 내가 원한 것은 이해할 수 있는 거죠 가로선 다시 보장 프로그램 중단, t 크루nc스트 준비되기까지 hasn& # 39 의 아니하고또 보냈습니다 즐거운 점심 및, 무한 루프 - 비호환성의 얼마 전 나를 떠날 수 있지만, # 39 I& # 39 m 잘하고 있으니까 time.& # 39 이 걸릴 수 있습니다. 대화형 메시지 진행율 표시줄에는 등의 텍스트에서.
이 '보기인쇄 (& # 39, & # 39, 돈세탁,, # 39 for& search_string \b! # 39, & # 39, & # 39 .001& 끝 =;;) '로, 이를 통해 향후 화면 쓰기 메시지 초기화되는지 준비 기간 3 & # 39, 그리고 루부트 인쇄하십시오 백스페이스 소거 오프하도록 001& # 39. 선 및 확장 기간. 사용자 입력 후 search_string 앵무새 '' 내 '느낌표' text '\b!' 트림하여 search_string 백업하도록 있는 공간 배치, 그렇지 않으면 docname 보기인쇄 () '을 통해' 제대로 문장. # 39, & # 39 의 첫 번째 that& 뒤에 공백과 dot& # 39. # 39, & # 39 의 진행율 bar&. # 39 m, 어떤 I& 시뮬레이트하기. 또한, 이 메시지는 프라임 불필요하게 함께 다음 페이지 번호 (길이 3 로 포맷되었습니다 유수의 제로) 를 시행하십시오 처리되고 있는 반영할 수 있는 사용자 인터페이스에서 디이브이 진행률에 기간을 대화할거에요 나중에 또 아웃하려면 구축하십시오 적절한.
import sys
page=1
search_string=input('Search for?',)
print('Skimming for', search_string, '\b! .001', end='')
sys.stdout.flush() # the print function with an end='' won't print unless forced
while page:
# some stuff…
# search, scrub, and build bulk output list[], count items,
# set done flag True
page=page+1 #done flag set in 'some_stuff'
sys.stdout.write('\b\b\b.'+format(page, '03')) #<-- here's the progress bar meat
sys.stdout.flush()
if done: #( flag alternative to break, exit or quit)
print('\nSorting', item_count, 'items')
page=0 # exits the 'while page' loop
list.sort()
for item_count in range(0, items)
print(list[item_count])
#print footers here
if not (len(list)==items):
print('#error_handler')
고기 '는' 진행 표시줄에는 시s.스트더스트라이트 (& # 39, \b\b\b.& # 39, +format (페이지, & # 39, 03& # 39;)) '을 사용한다. 먼저, 지우기입니다 왼쪽에 있는 & # 39 세, 그 위에 커서를 백업하지만 영숫자가 \b\b\b& # 39;; 같은 기간 및 추가할 진행율 표시줄에는 루부트 떨어트림 새 길이. 그런 다음 페이지를 쓰기 위해 이 세 자리는 지금까지 진행되고 있다. 시s.스트더스트라이트 () '때문에' 전체 '를 기다리는 버퍼 또는 출력물에는 채널을 가깝냐고, 바로 쓰기' docname 시s.스트더t.프루시 (). '말' () '가 시s.스트더t.프루시 내장되었을 보기인쇄 ()' 을 (를) '생략합니다 보기인쇄 (& # 39, & # 39, txt, 끝 = ) '. 그런 다음 코드를 통해 더 많은 시간이 있을 때까지 루프를 세속 아무것도아니야 인쇄 작업을 위해 여기 되돌려줍니다 닦으렴 세 자리, 기간 및 쓰기 3 자리로 다시 뒤로를 추가하기에서는 증분됩니다.
이 세 자리, s # 39 는 결코 단순한 조작 및 다시 필요한 - it& 시s.스트더스트라이트 () '과' 도 '하는 모범을 보기인쇄 ()'. 한 것처럼 쉽게 잊을 수 있는 기간이 3 돌림무늬 백슬래시 b 백스페이스 (물론 들려주시겠습니까 아니라 먹어서나 포맷되었는지 페이지) 에 의해 더 이상 줄 바꿈 없는 공백 기간을 통해 각 1 시간 또는 - 그냥 인쇄면이 표시줄에는 사용하여 시s.스트더스트라이트 (& # 39, .& # 39;) 그냥 '. 시s.스트더t.프루시 () '페어당.
라즈베리 파이 () 로 파이썬 쉘로 유념하십시오 idle3 언약보다는 백스페이스 루부트 대신 스페이스, 인쇄 목록을 만드는 것은 명백한 분수 한다.
예를 들면 다음과 같습니다.
for i in range (0,5):
print "hi"
OUTPUT:
hi
hi
hi
hi
hi
예:
'내가 범위 내에 (0.5): " 인쇄하십시오 hi"; 출력: 안녕 안녕 안녕 안녕 안녕 '
일반 두 가지 방법이 있습니다.
>>> print('hello')
hello # appending '\n' automatically
>>> print('world')
world # with previous '\n' world comes down
# solution is:
>>> print('hello', end='');print(' world'); # end with anything like end='-' or end=" " but not '\n'
hello world # it seem correct output
for i in range(1,10):
print(i, end='.')
이후 '쉼표' \n 은 추가에는 무시하시겠습니까 인쇄하십시오 것이라고 말했습니다.
>>> print "hello",; print" world"
hello world
for i in range(1,10):
print "{} .".format(i),
ᄋ "이번 도움이 될 것이다. 링크 이 dell. 수 있습니다.