第029讲:文件:一个任务 | 学习记录(小甲鱼零基础入门学习Python)

(标答出处: 鱼C论坛)
《零基础入门学习Python》

测试题:
在这里插入图片描述

def wenjianxieru () :
    wenjianming = input("请输入文件名:")
    file1 = open (wenjianming,'w')
    print ("请输入内容【单独输入':w'保存退出】:")
    while True :
        wenjianneirong = input()
        if wenjianneirong != ':w' :
            file1.write('%s\n' %wenjianneirong)
        else :
            break
    file1.close()

wenjianxieru()

在这里插入图片描述

def compare (name1,name2) :
    file1 = open (wenjian1,'r')
    file2 = open (wenjian2,'r')
    count = 0
    diffr = []
    for line1 in file1 :
        line2 = file2.readline()
        count += 1
        if line1 != line2 :
            diffr.append(count)  
    if len(diffr) == 0 :
        print ("两个文件完全一样!")
    else :
        print("两个文件共有【%d】处不同:" %len(diffr))
        for i in diffr :
            print ("第 %s 行不一样" %i) 


wenjian1 = input ("请输入需要比较的头一个文件名:")
wenjian2 = input ("请输入需要比较的另一个文件名:")
compare(wenjian1,wenjian2)

在这里插入图片描述

wenjian_lujing = input (r"请输入要打开的文件(C:\\test.txt):")
file1 = open (wenjian_lujing,'r')
hangshu = int (input("请输入需要显示该文件的前几行:"))
for i in range (hangshu):
    print(file1.readline())
file1.close() 

在这里插入图片描述
在这里插入图片描述

def wenjianyuelan(wenjian_name,line_num) :
    if line_num.strip() == ';' :
        begin = '1'
        end = '-1'
    
    (begin,end) = line_num.split(';')
    if begin == '' :
        begin = '1'
    if end == '' :
        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'  %(wenjian_name,prompt))
    begin = int (begin) - 1
    end = int (end)
    lines = end - begin
    f = open (wenjian_name)
    for i in range (begin) :
        f.readline()
    if lines < 0 :
        print (f.read())
    else :
        for j in range(lines) :
            print (f.readline(),end = ' ')
    f.close()


wenjian_name = input (r"请输入要打开的文件名(C:\\test.txt):")
line_num = input ("请输入需要显示的行数【格式如 13:21 或 :21 或 21: 或 : 】:")
wenjianyuelan(wenjian_name,line_num) 

在这里插入图片描述

def wenjianquanbutihuan(wenjian_name,old,new) :
    f = open (wenjian_name)
    count = 0
    content = []
    f1 = f.read()
    for i in f1 :
        if old in i :
            count += 1
            i = i.replace(old,new)
        content.append(i)
    f.close()
    print ("文件 %s 中共有 %d 个 【%s】"  %(wenjian_name,count,old))
    print ("您确定要把所有的【%s】替换为【%s】吗?" %(old,new))
    temp = input("【YES/NO】:")
    if temp in [ 'YES' , 'Yes' , 'yes' ] :
        f2 = open (wenjian_name,'w')
        f2.writelines(content)
        f2.close()
        print("替换成功!")
    elif temp in [ 'NO' , 'No' , 'no' ] :
        print ("未替换!")
    else :
        print("请输入正确的指令!")

    f.close()


wenjian_name = input ("请输入文件名:")
old = input ("请输入需要替换的单词或字符:")
new = input ("请输入新的单词或字符:")
wenjianquanbutihuan(wenjian_name,old,new) 

标答:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38970783/article/details/85334169