python 保存文件_查询的成语保存到文件每天10行python代码系列

5104052ab7913f1f675ef9b6e28606ae.png

    查成语的输出的成语比较多时,一屏显示不下,为了方便查看结果,决定保存输出到指定的文件。对查成语的代码进行修改,增加输出到文件的功能。命令参数为 “--outfile 文件名”。    代码如下:
import sqlite3
import argparse

def main():
    #添加参数
    parser = argparse.ArgumentParser()
    parser.add_argument('word', help='要查询的成语')
    parser.add_argument('-blur', action='store_true', help='开启模糊查询')
    parser.add_argument('-detail', action='store_true', help='显示成语详细信息')
    #增加outfile参数
    parser.add_argument('-outfile', help='结果输出到文件')
    #解析输入的参数
    args=parser.parse_args()
    word=args.word
    isblur=args.blur
    isShowDetail=args.detail
    outfile=args.outfile

    con=sqlite3.connect('cy/cy.db')
    cursor=con.cursor()
    fields=['word']

    if isShowDetail:
        fields.extend(['spell','paraphrase','source','example'])

    strFields=','.join(fields)

    sql=f'select {strFields} from cy '
    strwhere=f" where word like '%{word}%'" if isblur else f" where word='{word}' "
    sql =sql + strwhere
    rows=cursor.execute(sql).fetchall()
    if outfile!=None:
        file=open(outfile,'w')
    for row in rows:
        t=row[0]
        if isShowDetail:
            t+=f"\n拼音:{row[1]}"
            t+=f"\n释义:{row[2]}"
            t+=f"\n出处:{row[3]}"
            t+=f"\n示例:{row[4]}"
        if outfile !=None:
            file.write(t+ '\n')
        else:
            print(t)

    if outfile!=None and  file:
        file.close()


if __name__=='__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值