美文网首页
2021年3月18日日知录

2021年3月18日日知录

作者: 爱生活的越仔 | 来源:发表于2021-03-18 23:12 被阅读0次

    今日精进

    出差返回徐州,今天中午在淮安市洪泽区蒋坝镇午餐,由于本人控制饮食,虽然这边是生产螺丝之地,并没有尝试,还是选择清淡的淮扬菜。

    总结一下之前学的一些编程知识

    实例分析1:拷贝文件

    原文链接

    部分解释

    拷贝给定的文本文件到另一个给定的文本文件。

    #文件名称比如为copyfile.py
    #!/usr/bin/env python3
    import sys
    #sys.argv[ ]是一个列表,里边的项为用户输入的参数。sys.argv[1]是第二个参数,sys.argv[2]是第三个参数。
    if len(sys.argv) < 3:#判断运行Python文件时命令行输入的参数个数是否正确
        print("Wrong parameter")
        print("./copyfile.py file1 file2")#将file1文件中的内容复制到file2中
        sys.exit(1)
    f1 = open(sys.argv[1])
    s = f1.read()
    #调用文件处理中的read函数 将.txt中的内容读入s变量中
    f1.close()
    f2 = open(sys.argv[2], 'w')
    #将s 即之前从.txt中读入的数据,write写入f2中
    f2.write(s)
    f2.close()
    

    使用了新模块sys

    sys.argv 包含所有命令行参数。 这个程序的功能完全可以使用 shell 的 cp 命令替代: 在 cp 后首先输入被拷贝的文件的文件名,然后输入新文件名。

    #文件名比如argvtest.py
    #!/usr/bin/env python3
    import sys
    print("First value", sys.argv[0])
    print("All values")
    for i, x  in enumerate(sys.argv):
        print(i, x)
    

    实例2:文本文件相关信息统计

    原文链接

    #文件名比如parsefile.py
    #!/usr/bin/env python3
    import os
    import sys
    def parse_file(path):
        """
            分析给定文本文件,返回其空格、制表符、行的相关信息
    
            :arg path: 要分析的文本文件的路径
    
            :return: 包含空格数、制表符数、行数的元组
        """
        fd = open(path)
        i = 0
        spaces = 0
        tabs = 0
        for i,line in enumerate(fd):
            spaces += line.count(' ')
            tabs += line.count('\t')
        fd.close()
        # 以元组形式返回结果
        return spaces,tabs,i + 1
    def main(path):
        """
            函数用于打印文件分析结果
    
            :arg path: 要分析的文本文件的路径
            :return: 若文件存在则为 True,否则 False
        """
        if os.path.exists(path):
            spaces,tabs,lines = parse_file(path)
            print("Spaces {}.tabs {}.lines {}".format(spaces,tabs,lines))
            return True
        else:
            return False
    if __name__=='__main__':
        if len(sys.argv) > 1:
            main(sys.argv[1])
        else:
            sys.exit(-1)
        sys.exit(0)
    

    程序有两个函数 ,main() 和 parse_file() ,parse_file 函数真正的分析文件并返回结果,然后在 main() 函数里打印结果。通过分割代码到一些更小的单元(函数)里,能帮助我们组织代码库并且也更容易为函数编写测试用例。

    相关文章

      网友评论

          本文标题:2021年3月18日日知录

          本文链接:https://www.haomeiwen.com/subject/rjdmcltx.html