欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 控制臺(tái)單行刷新,多行刷新實(shí)例

 更新時(shí)間:2020年02月19日 15:05:51   作者:whyaza  
今天小編就為大家分享一篇python 控制臺(tái)單行刷新,多行刷新實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

先貼出單行刷新實(shí)現(xiàn)的進(jìn)度條:

對(duì)于控制臺(tái)的單行刷新,比較簡(jiǎn)單,先直接貼出代碼:

 strarrs = ['/','|','\\']
 for i in range(15):
   sys.stdout.write(strarrs[i % 3]+'{}/15:'.format(i+1)+'#' * i+'\r')
   sys.stdout.flush()
   time.sleep(1)

對(duì)于單行刷新以及坑

1.print是對(duì)sys.stdout.write的友好封裝,利用sys.stdout.write把數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出,貌似也可用print來(lái)做,這里沒有深入研究

2.一定要在write()里面加入 '\r',或者是'\b'等轉(zhuǎn)義字符,其中python轉(zhuǎn)義字符表如下:

轉(zhuǎn)義字符 描述
\(在行尾時(shí)) 續(xù)行符
\\ 反斜杠符號(hào)
\' 單引號(hào)
\" 雙引號(hào)
\a 響鈴
\b 退格(Backspace)
\e 轉(zhuǎn)義
\000
\n 換行
\v 縱向制表符
\t 橫向制表符
\r 回車
\f 換頁(yè)
\oyy 八進(jìn)制數(shù)yy代表的字符,例如:\o12代表?yè)Q行
\xyy 十進(jìn)制數(shù)yy代表的字符,例如:\x0a代表?yè)Q行
\other 其它的字符以普通格式輸出

這就相當(dāng)于是回車到了輸出開頭,然后,重新寫,在刷新!

如此,一個(gè)簡(jiǎn)單的進(jìn)度條就實(shí)現(xiàn)了!

接下來(lái)說(shuō)一說(shuō),多行的刷新問題:

多行刷新,就不能簡(jiǎn)單的使用輸入輸出了,應(yīng)該使用的是一個(gè)curses的庫(kù),這個(gè)庫(kù),是以前用c寫的庫(kù),如果熟悉c下,curses庫(kù)的使用的話,用python會(huì)上手很快.

但是我之前并沒有接觸羅..一點(diǎn)一點(diǎn)看羅- - ,還有一點(diǎn)就是這個(gè)庫(kù),現(xiàn)在好像貌似只能在linux下使用,windows不能使用,mac不太清楚,windows下貌似是有別的解決方案

上效果圖:

大部分實(shí)現(xiàn)curses,的程序模式都是基于以下的代碼

stdscr=curses.initscr()
 # 一些常用設(shè)置
 curses.noecho()
 curses.cbreak()
 stdscr.keypad(1)
 # 以下寫監(jiān)聽按鍵的代碼或者loop代碼等...
  ....
#關(guān)閉之前的操作
 stdscr.keypad(0)
 curses.echo()
 curses.nocbreak()
 curses.endwin()

主要的程序邏輯都在...中,下面直接貼出代碼:

import curses
import time
import os
import random
stdscr = curses.initscr()
curses.noecho()   #不輸出- -
curses.cbreak()   #立刻讀取:暫不清楚- -
stdscr.keypad(1)  #開啟keypad
stdscr.box()

width = os.get_terminal_size().columns
height = os.get_terminal_size().lines
c_y = height//2 - 1
c_x = width//2 - 10
stdscr.addstr(c_y+5,c_x,'press C to continue',curses.A_REVERSE)
while True:
  c = stdscr.getch()
  if c == ord('c') or c == ord('C'):
    break

zh_ = '1234567890-qwertyuiopasdfghjklzxcvbnm,[;l,]/~!@#$%^&*()_+}"?{:><}"'';'
while True:
  for linei in range(1,width-1):
    for linej in range(1,height-1):
      if linej == c_y:
        if linei <= 5 or linei+6 >= width:
          stdscr.addstr(linej,linei,'$')
        else:
          stdscr.addstr(linej,c_x,time.strftime('%Y-%m-%d %H:%M:%S'),curses.A_BOLD)
      else:
        randominx = random.randint(0,len(zh_)-1)
        stdscr.addstr(linej,linei,zh_[randominx])
  stdscr.move(c_y,c_x)
  stdscr.refresh()
  time.sleep(1)

curses.endwin()

這樣,一個(gè)多行刷新的demo就完成了.

以上這篇python 控制臺(tái)單行刷新,多行刷新實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于反爬蟲的一些簡(jiǎn)單總結(jié)

    關(guān)于反爬蟲的一些簡(jiǎn)單總結(jié)

    這篇文章主要介紹了關(guān)于反爬蟲的一些簡(jiǎn)單總結(jié),具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 解決Ubuntu pip 安裝 mysql-python包出錯(cuò)的問題

    解決Ubuntu pip 安裝 mysql-python包出錯(cuò)的問題

    今天小編就為大家分享一篇解決Ubuntu pip 安裝 mysql-python包出錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 利用Python實(shí)現(xiàn)字幕掛載(把字幕文件與視頻合并)思路詳解

    利用Python實(shí)現(xiàn)字幕掛載(把字幕文件與視頻合并)思路詳解

    這篇文章主要介紹了如何利用Python實(shí)現(xiàn)字幕掛載,把字幕文件與視頻合并,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python字符串中查找子串小技巧

    Python字符串中查找子串小技巧

    這篇文章主要介紹了Python字符串中查找子串小技巧,,需要的朋友可以參考下
    2015-04-04
  • Python編寫一個(gè)多線程的12306搶票程序的示例

    Python編寫一個(gè)多線程的12306搶票程序的示例

    對(duì)于很多人來(lái)說(shuō),搶購(gòu)火車票人們成了一個(gè)令人頭疼的問題,本文主要介紹了Python編寫一個(gè)多線程的12306搶票程序的示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Pandas庫(kù)中iloc[]函數(shù)的使用方法

    Pandas庫(kù)中iloc[]函數(shù)的使用方法

    在數(shù)據(jù)分析過(guò)程中,很多時(shí)候需要從數(shù)據(jù)表中提取出相應(yīng)的數(shù)據(jù),而這么做的前提是需要先“索引”出這一部分?jǐn)?shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas庫(kù)中iloc[]函數(shù)的使用方法,需要的朋友可以參考下
    2023-01-01
  • ZABBIX3.2使用python腳本實(shí)現(xiàn)監(jiān)控報(bào)表的方法

    ZABBIX3.2使用python腳本實(shí)現(xiàn)監(jiān)控報(bào)表的方法

    今天小編就為大家分享一篇ZABBIX3.2使用python腳本實(shí)現(xiàn)監(jiān)控報(bào)表的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • 解決django后臺(tái)管理界面添加中文內(nèi)容亂碼問題

    解決django后臺(tái)管理界面添加中文內(nèi)容亂碼問題

    今天小編就為大家分享一篇解決django后臺(tái)管理界面添加中文內(nèi)容亂碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 解析Pytorch中的torch.gather()函數(shù)

    解析Pytorch中的torch.gather()函數(shù)

    本文給大家介紹了Pytorch中的torch.gather()函數(shù),通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • 淺談Python單向鏈表的實(shí)現(xiàn)

    淺談Python單向鏈表的實(shí)現(xiàn)

    本文給大家簡(jiǎn)單介紹了下鏈表的知識(shí),然后用Python模擬一下單鏈表,比較簡(jiǎn)單,初學(xué)者可以參考參考,大神可以給我點(diǎn)改進(jìn)意見
    2015-12-12

最新評(píng)論