原創(chuàng):XIAO油菜花
學(xué)習(xí)進(jìn)度記錄:
《零基礎(chǔ)入門學(xué)習(xí)Python》P30:文件:一個(gè)任務(wù)
《Python開(kāi)發(fā)入門與爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn)》:Python中的函數(shù):遞歸查找
實(shí)戰(zhàn)
-
編寫一個(gè)程序迁央,接受用戶的輸入并保存為新的文件,程序?qū)崿F(xiàn)如圖:
def file_write(file_name):
f = open(file_name, 'w')
print('請(qǐng)輸入內(nèi)容【單獨(dú)輸入\':w\'保存退出】:')
while True:
write_some = input()
if write_some != ':w':
f.write('%s\n' % write_some)
else:
break
f.close()
file_name = input('請(qǐng)輸入文件名:')
file_write(file_name)
-
編寫一個(gè)程序滥崩,比較用戶輸入的兩個(gè)文件岖圈,如果不同,顯示出所有不同處的行號(hào)與第一個(gè)不同字符的位置钙皮,程序?qū)崿F(xiàn)如圖:
def file_compare(file1, file2):
f1 = open(file1)
f2 = open(file2)
count = 0 # 統(tǒng)計(jì)行數(shù)
differ = [] # 統(tǒng)計(jì)不一樣的數(shù)量
for line1 in f1:
line2 = f2.readline()
count += 1
if line1 != line2:
differ.append(count)
f1.close()
f2.close()
return differ
file1 = input('請(qǐng)輸入需要比較的頭一個(gè)文件名:')
file2 = input('請(qǐng)輸入需要比較的另一個(gè)文件名:')
differ = file_compare(file1, file2)
if len(differ) == 0:
print('兩個(gè)文件完全一樣蜂科!')
else:
print('兩個(gè)文件共有【%d】處不同:' % len(differ))
for each in differ:
print('第 %d 行不一樣' % each)
-
編寫一個(gè)程序顽决,實(shí)現(xiàn)“全部替換”功能,程序?qū)崿F(xiàn)如圖:
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感覺(jué)應(yīng)該用這個(gè)
eachline = eachline.replace(rep_word, new_word)#注意這個(gè)replace用法
content.append(eachline)
decide = input('\n文件 %s 中共有%s個(gè)【%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('請(qǐng)輸入文件名:')
rep_word = input('請(qǐng)輸入需要替換的單詞或字符:')
new_word = input('請(qǐng)輸入新的單詞或字符:')
file_replace(file_name, rep_word, new_word)
如果你關(guān)注了我才菠,希望你監(jiān)督我,鼓勵(lì)我贡定,與我一起學(xué)習(xí)赋访,一起成長(zhǎng)!?