第29講 檔案 乙個任務

2021-08-07 23:46:12 字數 3980 閱讀 8262

答案:

def file_write(file_name):

f = open(file_name, 'w')

print('請輸入內容【單獨輸入\':w\'儲存退出】:')

while true:

write_some = input()

if write_some != ':w':

f.write('%s\n' % write_some)

else:

break

f.close()

file_name = input('請輸入檔名:')

答案:

def file_compare(file1, file2):

f1 = open(file1)

f2 = open(file2)

count = 0 # 統計行數

differ = # 統計不一樣的數量

for line1 in f1:

line2 = f2.readline()

count += 1

if line1 != line2:

f1.close()

f2.close()

return differ

file1 = input('請輸入需要比較的頭乙個檔名:')

file2 = input('請輸入需要比較的另乙個檔名:')

differ = file_compare(file1, file2)

if len(differ) == 0:

print('兩個檔案完全一樣!')

else:

print('兩個檔案共有【%d】處不同:' % len(differ))

for each in differ:

print('第 %d 行不一樣' % each)

答案:

def file_view(file_name, line_num):

print('\n檔案%s的前%s的內容如下:\n' % (file_name, line_num))

f = open(file_name)

for i in range(int(line_num)):

print(f.readline(), end= '')

f.close()

file_name = input(r'請輸入要開啟的檔案(c:\\test.txt):')

line_num = input('請輸入需要顯示該檔案前幾行:')

答案:

def file_view(file_name, line_num):

if line_num.strip() == ':': #刪除字串前邊和後邊所有的空格,chars引數可以定製刪除的字元。

begin = '1'

end = '-1'

#處理字串部分

(begin, end) = line_num.split(':') #分割冒號左右兩邊的字元

if begin == '': #如果左邊是空字元begin='1'

begin = '1'

if end == '': #如果右邊是空字元end='-1'

end = '-1'

if begin == '1' and end == '-1':

prompt = '的全文'

elif begin == '1':

prompt = '從開始到第%s行' % end

elif end == '-1':

prompt = '從第%s行到末尾' % begin

else:

prompt = '從第%s行到第%s行' %(begin, end)

print('\n檔案%s%s的內容如下:\n' % (file_name, prompt))

#輸出部分

begin = int(begin) - 1 #行數是從零開始計算

end = int(end)

lines = end - begin #例begin=13-1,end=21,lines=21-12=9

f = open(file_name) #開啟檔案

for i in range(begin): #先定位到begin那一行

f.readline()

if lines < 0: #lines為負數則需讀到檔案末尾

print(f.read())

else:

for j in range(lines):

print(f.readline(), end='')

f.close()

file_name = input(r'請輸入要開啟的檔案(c:\\test.txt):')

line_num = input('請輸入需要顯示的行數【格式如 13:21 或 :21 或 21: 或 : 】:')

答案:

def file_replace(file_name, rep_word, new_word):

f_read = open(file_name)

content =

count = 0

for eachline in f_read:

if rep_word in eachline:

count = eachline.count(rep_word) #.count返回rep_word在字串裡出現的次數

#這裡的count也不知道為什麼會做累加,明明沒有+=

eachline = eachline.replace(rep_word, new_word) #把字串中的rep字串替換成new字串

decide = input('\n檔案 %s 中共有%s個【%s】\n您確定要把所有的【%s】替換為【%s】嗎?\n【yes/no】:' % (file_name, count, rep_word, rep_word, new_word))

if decide in ['yes', 'yes', 'yes']:

f_write = open(file_name, 'w')

f_write.writelines(content)

f_write.close()

f_read.close()

file_name = input('請輸入檔名:')

rep_word = input('請輸入需要替換的單詞或字元:')

new_word = input('請輸入新的單詞或字元:')

file_replace(file_name, rep_word, new_word)

'''原理:先開啟檔案,遍歷每一行,把舊詞替換新詞後新增到content列表中,這樣content列表就有乙個新檔案,之後再把content寫入原檔案。

'''

掛起乙個任務

掛起乙個任務 描述 呼叫此函式去掛起乙個任務,如果傳送到ostasksuspend 的任務的優先順序是要掛起的任務或者是 os prio self,那麼這個任務將被掛起。引數 prio 需要掛起任務的優先順序。如果指定os prio self,那麼這個任務將自己掛起,再發生再 次排程。返回 os n...

後台執行,結束乙個任務再開啟乙個任務

我後來是這麼解決不知道行不行,可以長期的在後台執行 然後在delegate裡加入以下 原理是進入後台時程式會在600秒那樣結束任務,我做的就是在結束任務前新開乙個任務,再結束舊任務,這樣就一直的在後台執行,希望可能幫助到更多的人,我也查了很久才找到這個方法的。uibackgroundtaskiden...

第002講 用Python設計第乙個遊戲

內建函式 if else判斷 0.什麼是bif?python 的內建函式,可以直接呼叫。1.用課堂上小甲魚教的方法數一數 python3 提供了多少個 bif?68。在idle中輸入 dir builtins 結果中小寫的函式為內建函式 2.在 python 看來 fishc 和 fishc 一樣嗎...