檔案 小練習

2021-08-13 19:30:48 字數 3093 閱讀 2122

參考 :

1.編寫乙個程式,接受使用者的輸入並儲存為新的檔案,程式實現如圖:

#接受使用者的輸入並儲存為新的檔案

f = open(fname,"w")

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

while

true:

words = input()

if words !=":w":

f.write(words+"\n")

#f.write("%s\n"%words)

else:

break

f.close()

'''#測試

fname = input("請輸入檔名:")

filewriter(fname)

'''2.編寫乙個程式,比較使用者輸入的兩個檔案,如果不同,顯示出所有不同處的行號與第乙個不同字元的位置,程式實現如

圖:

def

filecompare

(filename1,filename2):

#比較兩個檔案,返回不同的行號

f1 = open(filename1,"r")

f2 = open(filename2,"r")

count = 0

#統計行數

diff = #統計不一樣的行號

for line1 in f1:

line2 = f2.readline()

count += 1

if line1 != line2:

f1.close()

f2.close()

return diff

'''

#測試filename1 = input("請輸入檔名:")

filename2 = input("請輸入檔名:")

diff = filecompare(filename1,filename2)

if len(diff) == 0:

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

else:

print("兩個檔案共有%d個地方不同:"%len(diff))

for each in deff:

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

'''

3.編寫乙個程式,當使用者輸入檔名和行數(n)後,將該檔案的前n行內容列印到螢幕上,程式實現如圖:

#列印輸入的行數

f = open(fname)

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

for i in range(linenum):

print(f.readline())

f.close()

'''#測試

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

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

fileprint(file_name,line_num)

'''4.呃,不得不說我們的使用者變得越來越刁鑽了。要求在上一題的基礎上擴充套件,使用者可以隨意輸入需要顯示的行數。(如輸

入13:21列印第13行到第21行,輸入:21列印前21行,輸入21:則列印從第21行開始到檔案結尾所有內容)

#列印指定範圍的行

(begin,end) = linesize.split(":",1)

if begin == "":

begin = 1

else:

begin = int (begin)

if end == "":

end = -1

else:

end = int (end)

if begin == 1

and end == -1 :

text = "的全文"

elif begin == 1:

text = "從開始到%s"%end

elif end == -1:

text = "從%s到結束"%begin

else:

text = "從第%s行到第%s行"%(begin,end)

linenum = end - begin +1

f = open(fname,"r")

for i in range(begin-1):#讀掉前begin-1行

f.readline()

print("\n檔案%s%s的內容如下:\n"%(fname,text)) #開始列印

if linenum < 0: #列印至結束

print(f.read())

else:

for j in range(linenum): #列印

print(f.readline())

f.close()

'''#測試

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

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

fileview(fname, linesize)

'''

檔案操作小練習

1.有如下檔案,a1.txt,裡面的內容為 老男孩是最好的學校,全心全意為學生服務,只為學生未來,不為牟利。我說的都是真的。哈哈 分別完成以下的功能 a,將原檔案全部讀出來並列印。b,在原檔案後面追加一行內容 信不信由你,反正我信了。c,將原檔案全部讀出來,並在後面新增一行內容 信不信由你,反正我信...

修改檔案小練習

自己用list寫的,原檔案用的就是自動生成username的小程式 with open username.txt a encoding utf 8 as f f.seek 0 all new user for line in f all file line.split a user all file...

程式設計小練習

檔名稱 test.cpp 完成日期 2016年4月11日 問題描述 ip位址 在日常網路環境中,基本是都在使用b,c兩大類位址,而ade這3類位址都不打可能被使用到。include using namespace std class ip ip位址共4位元組,或者看成結構體所指4部分 unsigne...