91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于sys.stdout和print的區別詳解

發布時間:2020-09-05 11:33:12 來源:腳本之家 閱讀:250 作者:朔方_ 欄目:開發技術

一、sys.stdout的形式就是print的一種默認輸出格式,等于print "%VALUE%"

print函數是對sys.stdout的高級封裝,看下print函數的解釋

Prints the values to a stream, or to sys.stdout by default.
 Optional keyword arguments:
 file: a file-like object (stream); defaults to the current sys.stdout.
 sep: string inserted between values, default a space.
 end: string appended after the last value, default a newline.

print是默認調用了sys.stdout.write()方法將輸出打印到控制臺

print 也可通過file參數將輸出打印到其他文件中

f = open('test.txt','a')
print('this is a test',file=f)

二、sys.stdout.write()輸出不會自動換行,沒有end,可用轉義字符自行控制

/n 換行

/r 回車到本行首,可刷新輸出

如用sys.stdout.write() 和\r實現自定義進度條

# -*- coding: utf-8 -*-
from tqdm import tqdm
import time
import sys
 
for i in tqdm(range(100)):
 time.sleep(.1)
for i in range(100):
 a = (i+1)/5
 b = 20-a
 #sys.stdout.write('\r>>convert image %d/%d'%(i,b))
 
 sys.stdout.write('\r|%s%s|%d%%'%(a*'▇',b*' ',i+1))
 sys.stdout.flush()
 time.sleep(.1)

運行結果如下圖:

關于sys.stdout和print的區別詳解

sys.stdout.flush()強制刷新緩沖區,

緩沖區的刷新方式:

1.flush()刷新緩存區

2.緩沖區滿時,自動刷新

3.文件關閉或者是程序結束自動刷新。

當我們需要打印一些字符時,并不是立刻就打印,而是先將需要打印的字符放入緩沖區,在緩沖區刷新時打印,當緩沖區未滿,或者程序運行未結束時,可使用sys.stdout.flush()強制刷新緩沖區,立刻進行打印;

附:寫出漂亮的進度條模塊tqdm

from tqdm import tqdm 
import time
for i in tqdm(range(10000)): 
 time.sleep(0.01) 

運行結果如下:

關于sys.stdout和print的區別詳解

以上這篇關于sys.stdout和print的區別詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莆田市| 响水县| 镇巴县| 湘乡市| 南召县| 永寿县| 秦安县| 封丘县| 黄梅县| 南华县| 运城市| 张家界市| 阿瓦提县| 都昌县| 赤壁市| 冕宁县| 崇信县| 香河县| 滦南县| 南丰县| 利辛县| 郓城县| 无棣县| 湖北省| 朝阳市| 黄大仙区| 泽普县| 武山县| 务川| 田东县| 遂溪县| 普陀区| 格尔木市| 盐津县| 丹江口市| 方正县| 札达县| 平顶山市| 毕节市| 永泰县| 寿光市|