笨办法学python3——习题23注释

import sys
script, encoding, error = sys.argv  # argv用于输入参数


def main(language_file, encoding, errors):
    line = language_file.readline()  # 从给它的语言文件中读取一行,用readline处理文本文件
    # 以下if结构用来检查文件是否结束,运行到文件结尾会返回空字符串,则此处为真,if后面的代码可以执行
    if line:  # 防止一直循环下去
        print_line(line, encoding, errors)  # 调用print_line函数来打印这一行,使代码更加简单易懂
        return main(language_file, encoding, errors)  # 在main函数里面调用main函数,即跳到函数顶端再运行一次,类似一次循环


def print_line(line, encoding, errors):  # print_line函数:对languages.txt的每一行编码
    next_lang = line.strip()  # 删掉每行结尾的\n
    raw_bytes = next_lang.encode(encoding, errors=errors)  # 调用encode()编码字符串
    cooked_string = raw_bytes.decode(encoding, errors=errors)  # cooked_string的值等于next_lang,使用decode()解码字节序列

    print(raw_bytes, "<===>", cooked_string)  # 打印


languages = open("languages.txt", encoding="utf-8")  # 打开languages.txt文件

main(languages, encoding, error)  # 执行main函数,循环开始

本段代码读取languages.txt 中的字符串后将其编码成字节序列,再解码成字符串打印,中间使用在main函数中调用main函数,实现循环,用if来终止循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值