python刷新輸出
Ⅰ python如何列印輸出
使用print函數。
print(*objects,sep='',end='\n',file=sys.stdout, flush=False)
objects -- 復數,表示可以一次輸出多個對象。輸出多個對象時,需要用 , 分隔。
sep -- 用來間隔多個對象,默認值是一個空格。
end -- 用來設定以什麼結尾。默認值是換行符 \n,我們可以換成其他字元串。
file -- 要寫入的文件對象。
flush -- 輸出是否被緩存通常決定於 file,但如果 flush 關鍵字參數為 True,流會被強制刷新。
Ⅱ python 怎麼在終端列印多行並刷新
import Console
import time
c = Console.getconsole()
c.title("myprint")
# 輸出到指定位置
for i in xrange(1000):
c.text(0, 0, str(i))
c.text(0, 1, str(i+1))
time.sleep(0.1)
Ⅲ 【關於python】請問sys.stdout.flush()是什麼意思一般用在什麼地方
python的stdout是有緩沖區的,給你個例子你就知道了
importtime
importsys
foriinrange(5):
printi,
#sys.stdout.flush()
time.sleep(1)
這個程序本意是每隔一秒輸出一個數字,但是如果把這句話sys.stdout.flush()注釋的話,你就只能等到程序執行完畢,屏幕上會一次性輸出0,1,2,3,4。
如果你加上sys.stdout.flush(),刷新stdout,這樣就能每隔一秒輸出一個數字了。
可以用在網路程序中多線程程序,多個線程後台運行,同時要能在屏幕上實時看到輸出信息。
Ⅳ Python 輸出多行時如何原地刷新
使用sys.stdout.write方法輸出內容,內容以' '結尾即可,列印進度示例代碼如下:
importsys,time
foriinrange(1,101):
sys.stdout.write('['+str(i)+'%]'+'>'*i+' ')#列印內容到控制台, 表示回到輸出內容的最左邊
time.sleep(0.01)
Ⅳ Python3 輸入輸出和File(文件) 方法
Python兩種輸出值的方式: 表達式語句和 print() 函數。第三種方式是使用文件對象的 write() 方法,標准輸出文件可以用 sys.stdout 引用。
如果你希望輸出的形式更加多樣,可以使用 str.format() 函數來格式化輸出值。如果你希望將輸出的值轉成字元串,可以使用 repr() 或 str() 函數來實現。
str(): 函數返回一個用戶易讀的表達形式。
repr(): 產生一個解釋器易讀的表達形式。
str.format() 的使用
讀取鍵盤輸入
Python 提供了 input() 內置函數,從標准輸入讀入一行文本,默認的標准輸入是鍵盤。
open() 用於打開一個文件,並返迴文件對象,基本語法格式如下:
open(filename, mode='r')
完整的語法格式為:
open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
參數說明:
filename: 必需,文件路徑+文件名稱(相對或者絕對路徑)
mode: 可選,文件打開模式:只讀,寫入,追加等,默認模式為只讀(r)
buffering: 設置緩沖
encoding: 一般使用utf8
errors: 報錯級別
newline: 區分換行符
closefd: 傳入的file參數類型
opener: 設置自定義開啟器,開啟器的返回值必須是一個打開的文件描述符。
不同模式mode打開文件的說明:
t 文本模式 (默認的模式)
b 二進制模式,一般用於非文本文件如圖片等
x 寫模式,新建一個文件,如果該文件已存在則會報錯
+ 打開一個文件進行更新(可讀可寫)
r 以只讀方式打開文件。文件的指針將會放在文件的開頭。是默認模式。
rb 以二進制格式打開一個文件用於只讀。文件指針將會放在文件的開頭。
r+ 打開一個文件用於讀寫。文件指針將會放在文件的開頭。
rb+ 以二進制格式打開一個文件用於讀寫。文件指針將會放在文件的開頭。
w 打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
wb 以二進制格式打開一個文件只用於寫入。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
w+ 打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
wb+ 以二進制格式打開一個文件用於讀寫。如果該文件已存在則打開文件,並從開頭開始編輯,即原有內容會被刪除。如果該文件不存在,創建新文件。
a 打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
ab 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾,新的內容將會被寫入到已有內容之後。如果該文件不存在,創建新文件進行寫入。
a+ 打開一個文件用於讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用於讀寫。
ab+ 以二進制格式打開一個文件用於追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用於讀寫。
f.write(string) 將 string 寫入到文件中, 然後返回寫入的字元數
f.writelines(sequence) 向文件寫入一個序列字元串列表,如果需要換行則要自己加入每行的換行符。
f.read(size) 讀取一定數目的數據, 然後作為字元串或位元組對象返回。size 是一個可選參數。當 size 參數忽略或者為負, 那麼該文件的所有內容都將被讀取並且返回。
f.readline() 從文件中讀取單獨的一行。換行符為 '\n'。讀取整行,包括 "\n" 字元。f.readline() 如果返回一個空字元串, 說明已經讀取到最後一行。
f.readlines([sizeint])] 讀取所有行並返回列表類型,若給定sizeint>0,返回總和大約為sizeint位元組的行, 並且將這些位元組按行分割。實際讀取值可能比 sizeint 較大, 因為需要填充緩沖區。
f.tell() 返迴文件對象當前所處的位置, 它是從文件開頭開始算起的位元組數。
f.seek() 移動文件讀取指針到指定位置,如果要改變文件當前的位置, 可以使用f.seek(offset, from_what) 函數。from_what 的值(默認為0), 如果是 0 表示開頭, 如果是 1 表示當前位置, 2 表示文件的結尾,例如:
seek(x,0) : 從起始位置即文件首行首字元開始移動 x 個字元
seek(x,1) : 表示從當前位置往後移動x個字元
seek(-x,2):表示從文件的結尾往前移動x個字元
file.flush() 刷新文件內部緩沖,直接把內部緩沖區的數據立刻寫入文件, 而不是被動的等待輸出緩沖區寫入
file.fileno() 返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上
file.isatty() 如果文件連接到一個終端設備返回 True,否則返回 False
file.truncate([size]) 從文件的首行首字元開始截斷,截斷文件為 size 個字元,無 size 表示從當前位置截斷;截斷之後後面的所有字元被刪除,其中 windows 系統下的換行代表2個字元大小。
f.close() 關閉文件並釋放系統的資源。關閉後文件不能再進行讀寫操作,否則會拋出異常
當處理一個文件對象時, 使用 with 關鍵字是非常好的方式。在結束後, 它會幫你正確的關閉文件。 而且寫起來也比 try - finally 語句塊要簡短:
python的pickle模塊實現了基本的數據序列和反序列化。通過pickle模塊的序列化操作能夠將程序中運行的對象信息保存到文件中去,永久存儲。通過pickle模塊的反序列化操作能夠從文件中創建上一次程序保存的對象。
基本介面:
pickle.mp(obj, file, [,protocol])
有了 pickle 對象, 就能對 file 以讀取的形式打開:
x = pickle.load(file)
從 file 中讀取一個字元串,並將它重構為原來的python對象。
示例:使用pickle模塊將數據對象保存到文件
示例:使用pickle模塊從文件中重構python對象
Ⅵ python基礎:內置函數、方法、轉義字元大全
在寫python程序時,常能用到一些函數和方法,總結一下,保存起來,方便查詢。
一、內置函數
# abs()獲取數字絕對值
# chr(i)數字轉換為字元類型
# divmod() 獲取兩個數值的商和余數
# enumerate() 將可遍歷序列組合為索引序列
# float()轉換為浮點數
# format() 格式化字元串
# int()轉換為整數
# input() 接受用戶輸入內容
# len() 計算元素個數
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定數值的上舍整數
# open()打開文件並返迴文件對象
# pow() 冪運算
# print()列印輸出
# range() 生成器
# reversed()反轉所有元素
# round()四捨五入求值
# sorted()對可迭代對象進行排序
# str() 轉換為字元串
# sum() 求和
# set() 創建集合
# tuple() 將序列轉換為元組
# zip()將可迭代對象打包成元組
二、方法
# append() 添加列表元素
# capitalize()首字母轉換為大寫
# count()字元出現次數
# close() 關閉文件
# decode() 解碼字元串
# dict.keys() 獲取字典所有的鍵
# find()字元串首次出現的索引
# f.read() 讀取文件內容
# dict.update()更新字典
# dict.items() 獲取字典鍵/值對
# dict.get() 返回指定鍵的值
# encode() 編碼字元串
# list.sort() 排序列表元素
# index() 元素首次出現的索引
# isdigit() 判斷字元串是否只由數字組成
# isupper() 是否所有字母都為大寫
# isnum() 判斷字元串是否由字母和數字組成
# islower() 是否所有字母都為小寫
# isdecimal() 檢查字元串是否只包含十進制字元
# isalpha() 檢測字元串是否為純字母
# random.shuffle()隨機排序
# random.sample()返回無重復隨機數列表
# random.choice() 返回一個隨機元素
# random.randint() 生成指定范圍的隨機整數
# random.randrange() 生成指定范圍的指定遞增基數隨機整數
# pop() 刪除列表中的元素
# remove()刪除列表中的指定元素
# strip()去除空格
# lstrip()去除左側空格
# rstrip() 去除右側空格
# readline() 讀取單行內容
# root.after() Tkinter中等待一段時間後再執行命令
# str.isnumeric() 驗證字元串是否為數字(適用於Unicode)
# split()分割字元串
# ord() 將字元轉換為整數
# replace() 字元串替換
# ljust() 左對齊填充
# rjust() 左對齊填充
# readlines() 讀取所有行內容
# datetime.datetime.now() 返回指定時區的本地日期時間
# datetime.datetime.today() 獲取當前本地日期的date對象
# datetime.utcnow() 返回當前UTC時間的datetime對象
# time.strptime()把時間字元串解析為元組
# time.time()返回當前時間的時間戳
# time.sleep()暫停指定秒數
# time.strftime() 返回指定格式的日期字元串
# time.mktime() 接收時間元組並返回時間戳
# os.getcwd() 獲取當前工作目錄
# os.listdir() 獲取指定路徑下的目錄和文件列表
# os.makedirs() 遞歸創建目錄
# os.rename() 重命名目錄或文件
# os.path.exists() 判斷路徑是否存在
# upper() 全部轉換為大寫字母
# lower() 全部轉換為小寫字母
# sys.stdout.write() 標准輸出列印
# sys.stdout.flush()刷新輸出
# shutil.() 復制單個文件到另一文件或目錄
# write() 寫入文件內容
# winsound.Beep() 打開電腦揚聲器
# zfill() 在字元串前面填充0
三、循環語句
# break終止當前循環
# continue 終止本循環進入下一次循環
# with open() as file 以with語句打開文件(數據保存)
四、轉義字元
\ 行尾續行符
\' 單引號
\'' 雙引號
\a 響鈴
\e 轉義
\n 換行
\t 橫向製表符
\f 換頁
\xyy 十六進制yy代表的字元
\\反斜杠符號
\b 退格
\000 空
\v 縱向製表符
\r 回車
\0yy 八進制yy代表的字元
\other 其他的字元以普通格式輸出
Ⅶ python 如何將一系列數字十個一行輸出
概述
定義一個變數,用於記錄次數,然後這個次數沒輸出一個數自己加1,然後處理這個數,取整數,並且再次歸零。
代碼詳解
使用循環輸出列表,利用 計數器控制輸出數量,當輸出到第十個,計數器歸零,重新開始計數
print輸出增加end參數可以控制輸出後以什麼結尾
這里使用range方法快速生成10-90的數字添加進list列表
results = list(range(10, 90))
n = 10 # 每10個數換一行
for i in range(len(results)):
print(results[i], end=' ')
if (i+1) % 10 == 0:
print(" ") # 為轉義符 換行的意思
#out:

序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
Python有6個序列的內置類型,但最常見的是列表和元組。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,Python已經內置確定序列的長度以及確定最大和最小的元素的方法。
列表是最常用的Python數據類型,它可以作為一個方括弧內的逗號分隔值出現。
列表的數據項不需要具有相同的類型
Python列表函數&方法
1 cmp(list1, list2)比較兩個列表的元素
2 len(list)列表元素個數
3 max(list)返回列表元素最大值
4 min(list) 返回列表元素最小值
5 list(seq)將元組轉換為列表
