利用命令行解析根据行号修改文件中指定的行

本文部分代码引用文章:python 根据行号修改文件中指定的行_海纳百川的博客-CSDN博客

正文开始先上代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-f",'--filename',help="请输入文件名称")
parser.add_argument("-n",'--number',help="请输入要修改的行号",type=int)
parser.add_argument("-c",'--content',help="请输入要修改的内容")
args =parser.parse_args()
str=args.filename
num=args.number
cd=args.content
################################################################################
def Del_line(file_path, line_num, Contents):  # file_path:文件名;line_num:行号;Contents:修改后的内容
    with open(file_path, "r") as f:
        res = f.readlines()  # res 为列表
    res[line_num - 1] = (Contents + "\n")  # 删除行,因为索引是从 0 开始的,所以需要  -1
    with open(file_path, "w") as f:
        f.write("".join(res))  # 将 res 转换为 字符串重写写入到文本
    return

Del_line(str, num,cd)  

本实验的目录结果如下:在test文件夹下有两个文件,a.py存放代码,test.txt是要修改的文件

test.txt初始内容如下

在命令行解析中:通过-n,-s ,-c传入内容

                                  -f 后面跟需要修改的文件名

                                 -n后面跟要修改的行号

                                 -c后面跟要修改的内容

在pycharm终端里面执行如下命令,然后回车

命令说明:

python .\a.py -f test.txt -n 2 -c 'I have learned it'

a.py里面存放python代码,

-f test.txt----------要文件名称

 -n 2-----------------修改第二行

 -c 'I have learned it'-----------修改的内容

就是将test.txt文件的第二行修改为 I have learned it

实验结果:在次打开test.tst发现文件的第二行已经被修改为:I have learned it

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值