練習 讀取檔案內容根據頁數輸出內容

2021-09-10 08:34:48 字數 1716 閱讀 5105

# 5.隨意寫乙個20行以上的檔案

# 執行程式,先將內容讀到記憶體中,用列表儲存。

# 接收使用者輸入頁碼,每頁5條,僅輸出當頁的內容

with open('file1',encoding='utf-8') as f:

l = f.readlines()

page_num = int(input('請輸入頁碼 : '))

page,mod = divmod(len(l),5) #求有多少頁,有沒有剩餘的行數

if mod: # 如果有剩餘的行數,那麼頁數加一

pages=page+1 # 一共有多少頁 當餘數mod不為0時,總共的頁數為page加上1頁也就是pages

if page_num > pages or page_num <= 0: #使用者輸入的頁數大於總數或者小於等於0

print('輸入有誤')

elif page_num == pages and mod !=0: #如果使用者輸入的頁碼是最後一頁,且之前有過剩餘行數

for i in range(mod):

print(l[(page_num-1)*5 +i].strip()) #只輸出這一頁上剩餘的行

else:

for i in range(5):

# print(l[(page_num-1)*5 +i].strip()) #輸出5行

分析:## 輸入1 輸出第1-5行 (1-1)*5=0 (1-1)*5+4=4

#相當於輸出列表的第0項至第四項:思考n怎麼處理乘以5可以計算出來0和4

# 輸入2 輸出第6-10行 (2-1)*5+0=5 (2-1)*5+4=9

# 輸入3 輸出第11-15行 (3-1)*5+0=10 (3-1)*5+4=14

# 輸入4 輸出第16-20行 (4-1)*5+0=15 (4-1)*5+4=19

# 從上面可以看出每乙個都是需要用頁數減去1乘以5(是因為行數是連起來的所以需要乘以5)在加上乙個變數i(

# 可以用range(5)獲得,如果最後一頁不是滿頁就需要把餘數作為迭代range(mod)

# )# 5.隨意寫乙個20行以上的檔案

# 執行程式,先將內容讀到記憶體中,用列表儲存。

# 接收使用者輸入頁碼,每頁5條,僅輸出當頁的內容

f=open('file1',encoding='utf-8')

l=f.readlines()

page_num=int(input('請輸入頁碼:\n'))

page,mod=divmod(len(l),5)#得出頁碼和剩餘行數

if mod:

pages=page+1#如果mod不是0說明頁數還需要增加1才是正確的頁數

if page_num>pages or page_num<=0:

print('輸入頁碼錯誤')

elif page_num==pages and mod!=0:#如果輸入的頁數和實際的頁數一致並且餘數不是0 那麼就需要輸出餘數的行數,因為它是最後一頁

for i in range(mod):

print(l[(page_num-1)*5+i].strip())

else:

for i in range(5):

print(l[(page_num -1)*5+i].strip())

php 讀取檔案自身內容,與讀取檔案輸出內容

一,讀取檔案 先解釋一下,什麼是讀取檔案本身,什麼叫讀取檔案輸入內容。舉個例子test.php裡面的內容 1,讀取檔案本身就是讀取檔案內所有內容,讀取後就能得到 2,讀取檔案輸出內容是讀取檔案所表現出來的東西,讀取後得到test 二,fopen方法 1,讀取檔案本身 檢視複製列印?filename ...

C讀取檔案內容

include include include include include char getfilecontent const char psfilename int nfilelen lseek pf,0,seek end lseek pf,0,seek set char psfilecont...

QTextStream 讀取檔案內容

qfile file file.txt if file.open qiodevice readonly qiodevice text return qtextstream in file 1.qstring qtextstream read qint64 maxlen 讀取txt檔案maxlen個字...