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

python?print無法打印\r的問題及解決

 更新時間:2023年08月10日 08:45:58   作者:痛快最重要  
這篇文章主要介紹了python?print無法打印\r的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python print無法打印\r問題

最近在學(xué)習(xí)python的爬蟲,今天爬取內(nèi)容的時候發(fā)現(xiàn)了一個bug,讓我迷惑了好一會,后面終于發(fā)現(xiàn)了問題所在。

在python中,當(dāng)遇到'\r'回車符時,print的光標(biāo)要重新置為這一行的開頭而且不會換行,然后就會導(dǎo)致前面的內(nèi)容被覆蓋掉,導(dǎo)致打印的內(nèi)容出現(xiàn)缺失。

解決辦法

1.可以用字符串的替換把'\r'替換為空串""或者空格" "這樣就可以正常打印了。

替換方法:

import re
#三個參數(shù)分別是要替換的正則表達(dá)式,要替換成的字符串,要替換的目標(biāo),下面的意思就是將temp這個字符串的回車符'\r'全部替換為""空串
print re.sub(r'\r',"" , temp)

2.可以在后面添加'\n'換行符,這樣就會換行打印了,不會覆蓋掉之前的內(nèi)容。

import re
#三個參數(shù)分別是要替換的正則表達(dá)式,要替換成的字符串,要替換的目標(biāo),下面的意思就是將temp這個字符串的回車符'\r'全部替換為'\r\n'回車換行符
print re.sub(r'\r','\r\n' , temp)

注意:

這里的回車符只影響打印,要是你直接寫入文件是不會出現(xiàn)問題的,另外要注意因?yàn)閰?shù)要用到和返回值都是字符串,可以先在之前把其他的處理完了再替換打印,不然可能格式變化會影響之后的處理。

python中\(zhòng)r的意義及用法

\r的意義

  • \r表示將光標(biāo)的位置回退到本行的開頭位置
  • \b表示將光標(biāo)的位置回退一位

在python里print會默認(rèn)進(jìn)行換行,可以通過修改參數(shù)讓其不換行

(1) python2中可以在print語句的末尾加上逗號,代碼如下:

print "hello",
print "world"

執(zhí)行結(jié)果

hello world

請按任意鍵繼續(xù). . .

(2)在python3里print是一個獨(dú)立函數(shù),可以通過修改它的默認(rèn)值來讓其不換行

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    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.
    flush: whether to forcibly flush the stream.
    """

將end參數(shù)改為其他的字符可以讓print不換行,來看代碼

print("Dream", "it", "possible", sep="-",end="/")
print("Big big world")

運(yùn)行結(jié)果如下:

Dream-it-possible/Big big world

Process finished with exit code 0

\r的應(yīng)用

利用\r可以實(shí)現(xiàn)很多有趣的小功能

在命令行實(shí)現(xiàn)倒計(jì)時功能

# 顯示倒計(jì)時
import time
for i in range(10):
    print("\r離程序退出還剩%s秒" % (9-i), end="")
    time.sleep(1)

運(yùn)行結(jié)果如圖

命令行實(shí)現(xiàn)轉(zhuǎn)圈功能

import time
lst = ["\\", "|", "/", "———"]
for i in range(20):
    j = i % 4
    print("\r" + lst[j], end="")
    time.sleep(0.2)

實(shí)現(xiàn)進(jìn)度條功能

# 進(jìn)度條功能
import time
for i in range(10):
    print("\r" + "■"*i, sep="", end="")
    time.sleep(0.2)
print("\n下載完成")

運(yùn)行效果如下

實(shí)現(xiàn)刪除效果功能

import time
s = "枝上柳綿吹又少,天涯何處無芳草"
l = len(s)
for i in range(l):
    print("\r" + s[:l-1-i] + "|", end="")
    time.sleep(0.15)

運(yùn)行效果如圖

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中的字符串切割 maxsplit

    python中的字符串切割 maxsplit

    這篇文章主要介紹了python中的字符串切割 maxsplit,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • django搭建項(xiàng)目配置環(huán)境和創(chuàng)建表過程詳解

    django搭建項(xiàng)目配置環(huán)境和創(chuàng)建表過程詳解

    這篇文章主要介紹了django搭建項(xiàng)目配置環(huán)境和創(chuàng)建表過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Django單元測試工具test client使用詳解

    Django單元測試工具test client使用詳解

    這篇文章主要介紹了Django單元測試工具test client使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 利用keras加載訓(xùn)練好的.H5文件,并實(shí)現(xiàn)預(yù)測圖片

    利用keras加載訓(xùn)練好的.H5文件,并實(shí)現(xiàn)預(yù)測圖片

    今天小編就為大家分享一篇利用keras加載訓(xùn)練好的.H5文件,并實(shí)現(xiàn)預(yù)測圖片,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python實(shí)現(xiàn)用戶登錄注冊

    Python實(shí)現(xiàn)用戶登錄注冊

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)用戶登錄注冊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Ubuntu16.04 安裝多個python版本的問題及解決方法

    Ubuntu16.04 安裝多個python版本的問題及解決方法

    Ubuntu16.04自帶python2.7與python3.5,Ubuntu 官方 apt 庫中還未收錄 python 3.8,因此添加 deadsnakes PPA 源安裝python3.8,否則會出現(xiàn)報(bào)錯,接下來通過本文給大家介紹Ubuntu16.04 安裝python的問題,一起看看吧
    2021-09-09
  • Django中使用Whoosh進(jìn)行全文檢索的方法

    Django中使用Whoosh進(jìn)行全文檢索的方法

    這篇文章主要介紹了Django中使用Whoosh進(jìn)行全文檢索的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 為什么說python更適合樹莓派編程

    為什么說python更適合樹莓派編程

    在本篇文章里小編給大家整理的是關(guān)于為什么說python更適合樹莓派編程的相關(guān)文章,需要的朋友們可以參考學(xué)習(xí)下。
    2020-07-07
  • Python函數(shù)裝飾器原理與用法詳解

    Python函數(shù)裝飾器原理與用法詳解

    這篇文章主要介紹了Python函數(shù)裝飾器原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了Python裝飾器的原理、功能、分類、常見操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • 為Python的Tornado框架配置使用Jinja2模板引擎的方法

    為Python的Tornado框架配置使用Jinja2模板引擎的方法

    Jinja2是人氣Web框架Flask中的內(nèi)置模板引擎,而且與Django的模板引擎比較類似,這里我們就來看一下為Python的Tornado框架配置使用Jinja2模板引擎的方法
    2016-06-06

最新評論