Python---进阶---文件操作---按需求打印文件的内容

一、

编写一个程序,当用户输入文件名和行数的时候,将该文件的前N行内容打印到屏幕上

input 去接收一个文件名

input 去接收一个行数

----------------------------------------------

file_name = input(r"请输入你要打开的文件名: ") #是一个str
line_name = input(r"请输入你要显示的前几行: ")
def file_view(file_name, line_name):
    print("\n文件的%s的前%s行的内容如下" %(file_name, line_name))
   
    #去打开file_name的文件
    f = open(file_name)
    for i in range(int(line_num)):
        print(f.readline())
       
    f.close()
 
二、
---------------------------------------
我们在上一道题的基础上,增加一点功能,使用户可以随意的输入需要显示的行数
file_name = input(r"请输入你要打开的文件名:")
line_num = input(r"请输入你要显示的行数,格式为[1:9]或者[:]")
def print_line(file_name, line_num):
    f = open(file_name)
   
    begin, end = line_num.split(":")
   
    if begin == "":
        begin = "1"
   
    if end == "":
        end = "-1"
       
    begin = int(begin) - 1
    end = int(end)
   
    lines = end - begin
   
    # 消耗掉begin之前的行数
    for i in range(begin):
        f.readline()
       
    if lines < 0:
        print (f.read())         
    else:
        for j in range(lines):
            print(f.readline())
   
    f.close()
   
print_line(file_name, line_num)
--------------------------------------------------
三、编写一个程序,实现“全部替换”的功能
-----------------------------------------
-  打开一个文件
-  把文件中xxx这样的字符串,替换成  sss
-  open 打开文件
-  readline 读取文件内容
-  replace 替换
--------------------------------------------
file_name = input("请输入你要打开的文件名: ")
rep_word = input("请输入你要替换的字符: ")
new_word = input("请输入替换的字符串: ")
def file_replace(file_name, rep_word, new_word):
   
    f = open(file_name)
    content = []
    for eachline in f:
        if rep_word in eachline:
            eachline = eachline.replace(rep_word, new_word)
           
        content.append(eachline)
       
    decide = input("你确定要这样子做吗?请输入 YES/NO")      
   
   
    if decide in ["YES", "Yes", "yes"]:
        f_write = open(file_name, "w")
        f_write.write("".join(content))
        f_write.close()
       
file_replace(file_name, rep_word, new_word)
--------------------------------------------------------------
四、

转载于:https://www.cnblogs.com/niaocaizhou/p/11059496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值