中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python中readlines函數的參數hint的介紹以及用法

發布時間:2021-06-25 09:13:04 來源:億速云 閱讀:214 作者:chen 欄目:開發技術

本篇內容主要講解“python中readlines函數的參數hint的介紹以及用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python中readlines函數的參數hint的介紹以及用法”吧!

readlines的幫助信息

>>> fr=open('readme.txt')
>>> help(fr.readlines)
Help on built-in function readlines:
 
readlines(hint=-1, /) method of _io.TextIOWrapper instance
    Return a list of lines from the stream.
    
    hint can be specified to control the number of lines read: no more
    lines will be read if the total size (in bytes/characters) of all
    lines so far exceeds hint.

Google翻譯

_io.TextIOWrapper 實例的 readlines(hint=-1, /) 方法
     從流中返回行列表。
    
     可以指定 hint 來控制讀取的行數:如果到目前為止所有行的總大小(以字節/字符為單位)超過hint,則不會讀取更多行。

readme.txt中的內容

python中readlines函數的參數hint的介紹以及用法

>>> f=open('readme.txt')
>>> f.readlines()
['1\n', '22\n', '\n', '333']

為了進一步搞清楚hint,我寫了一個函數來演示

readlines函數代碼

def readlinesFile(filename,nbyte):
    '''
    探索f.readlines(i)中i的作用,典型的調用形式:
    readlinesFile('readme.txt',12)
    '''
    for i in range(nbyte):
        f=open(filename)
        ss=f.readlines(i)                       
        if i==0:#如果hint=0,先把每一個元素輸出                
            textline=len(ss)#文件的總行數
            ntotalbyte=0#文件的總字數
            nwritebyte=0#已經寫了的字節數
            for j in range(textline):
                #nwritebyte=ntotalbyte#已經寫了的字節數
                ntotalbyte=ntotalbyte+len(ss[j])
                rowbyte=0#已經寫了的新行的字節數,用來記一行已經輸出的字節個數
                while nwritebyte<ntotalbyte:#當已寫字節<總字節數
                    print(f'{nwritebyte+1}:',repr(ss[j][rowbyte])) #repr是為了輸出換行符
                    nwritebyte=nwritebyte+1
                    rowbyte=rowbyte+1
            print(f'行數={textline},字數={ntotalbyte}')
        print(f'f.readlines{i}={ss}') 
        f.close()

輸出

>>> readlinesFile('readme.txt',12)
1: '1'
2: '\n'
3: '2'
4: '2'
5: '\n'
6: '\n'
7: '3'
8: '3'
9: '3'
行數=4,字數=9
f.readlines0=['1\n', '22\n', '\n', '333']
f.readlines1=['1\n']
f.readlines2=['1\n', '22\n']
f.readlines3=['1\n', '22\n']
f.readlines4=['1\n', '22\n']
f.readlines5=['1\n', '22\n', '\n']
f.readlines6=['1\n', '22\n', '\n', '333']
f.readlines7=['1\n', '22\n', '\n', '333']
f.readlines8=['1\n', '22\n', '\n', '333']
f.readlines9=['1\n', '22\n', '\n', '333']
f.readlines10=['1\n', '22\n', '\n', '333']
f.readlines11=['1\n', '22\n', '\n', '333']

總結:

1.hint 是要輸出顯示的字節數

2.hint 默認等于-1,就是以列表的形式讀出所有內容

3.hint = 0時,效果等同于-1

4.hint 所指的字節數正好是換行符的話,則實際輸出是 hint+1

更花哨的readlinesFile

def readlinesFile(filename,nbyte):
    '''
    探索f.readlines(i)中i是指什么,典型的調用形式:
    readlinesFile('readme.txt',12)
    '''
    specialByte=[]#存儲特殊的字節數用
    for i in range(nbyte):
        with open(filename) as f:#使用with語句就可以不使用f.close()了
            ss=f.readlines(i)                       
            if(i==0):#如果hint=0,先把每一個元素輸出
                print(ss)
                textline=len(ss)#文件的總行數
                ntotalbyte=0#文件的總字數
                nwritebyte=0#已經寫了的字節數
                for j in range(textline):
                    #nwritebyte=ntotalbyte#已經寫了的字節數
                    ntotalbyte=ntotalbyte+len(ss[j])
                    rowbyte=0#已經寫了的新行的字節數,用來記一行已經輸出的字節個數
                    while nwritebyte<ntotalbyte:#當已寫字節<總字節數
                        if(nwritebyte is ntotalbyte-1):
                            specialByte.append(nwritebyte)
                            print(f'\033[0;31;47m{nwritebyte+1:2d}:',repr(ss[j][rowbyte]),'\033[0m')#\033[0m是字體和背景顏色設置,注意可能需要其他庫的支持
                        else:
                            print(f'{nwritebyte+1:2d}:',repr(ss[j][rowbyte])) 
                        nwritebyte=nwritebyte+1     
                        rowbyte=rowbyte+1
                print(f'\033[0;31;40m行數={textline:2d},字數={ntotalbyte:2d}\033[0m')
            if i in specialByte:
                print(f'\033[0;31;47mf.readlines{i:<2d}={ss}\033[0m') #<是左對齊
            else:
                print(f'f.readlines{i:<2d}={ss}') #<是左對齊

效果

python中readlines函數的參數hint的介紹以及用法

到此,相信大家對“python中readlines函數的參數hint的介紹以及用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

凯里市| 玛多县| 教育| 孟村| 芦山县| 深泽县| 潮州市| 西城区| 浦县| 通道| 如东县| 盐津县| 论坛| 武定县| 冀州市| 肥西县| 三亚市| 德化县| 青田县| 特克斯县| 钟山县| 尉氏县| 通海县| 台湾省| 井冈山市| 平原县| 霍林郭勒市| 娄底市| 宝山区| 读书| 永丰县| 巴楚县| 乳山市| 靖远县| 佛冈县| 班玛县| 德惠市| 邓州市| 昭觉县| 天峻县| 西和县|