zoukankan      html  css  js  c++  java
  • python-file练习题(统计代码行数,统计问文件内每个英文的个数)


    """
    12、请说明python2 python3中的默认编码是什么?

    答:python2重视 ASCIIpython3中默认编码方式是UTF-8
    """

    """
    13、为什么会出现中文乱码?你能列举出现乱码的情况有哪几种?
    答:出现乱码就是由于编码的方式不一致导致的。
    1mac上编码方式为utf-8windows编码方式为gbk,同一个文件放在两个不同的平台显示的内容不一样的
    """

    """
    14、分别写出在windowsmac上用py2输出中文怎么做?
    print(u'中文')
    文件开头 -*-conding:utf-8-*-
    """

    """
    15、任一个英文的纯文本文件,统计其中的每个单词出现的个数,注意是每个单词。。
    """
    # file_path = r'C:Users\练习题english_text'
    # a_z_list = [chr(i) for i in range(ord('a'),ord('z')+1)]
    # A_Z_list = [chr(i) for i in range(ord('A'),ord('Z')+1)]
    # zimu_set = set(a_z_list)|set(A_Z_list) # 大小写字母的集合
    #
    # f = open(file_path,'r',encoding='utf-8')
    # text = f.read() # 文本的内容读取出来,放在一个变量里(此时 存到了内存)
    # f.close()
    # count_set = set(text) & zimu_set # 统计文章出现的字母,取文章出现的字符和大小写字母集合的交集
    # print('文章出现的字母为 :{}'.format(count_set))
    # print('文章未统计其他字符为:{}'.format(set(text) - zimu_set))
    # print('文章中未出现的字母为:{}'.format(zimu_set - set(text)))
    # for i in count_set:
    # print(r'{}出现了{}'.format(i,text.count(i)))


    """
    16、有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
    """

    import os


    def query_my_program_files(dirname):
    """
    根据目录查询目录下所有的.py文件的代码行数(包含空行和注释)
    :param dirname:传入目录的绝对路径
    :return: 字典key:文件名,value:代码行数(包含空行和注释)
    """
    file_list = os.listdir(dirname)
    print(file_list)
    my_program_file = []
    for i in file_list:
    if os.path.isfile(i) and i.endswith('.py') and i != '__init__.py': # 是否是文件,是否是.py结尾,是否不是‘__init__.py’
    my_program_file.append(i)
    print(my_program_file)

    # line_count = 0 # 记录行数不能放在外面,不然会累加。放在每次打开文件声明一个这样新打开一个就会清零
    dict_file_lines = {}
    for i in my_program_file:
    my_program_file_path = os.path.join(dirname, i)
    with open(my_program_file_path, 'r', encoding='utf-8') as f:
    line_count = 0 # 记录行数
    while True:
    if f.readline():
    line_count += 1
    dict_file_lines[i] = line_count
    else:
    break
    # print (
    # """
    # ---------------
    # {}】程序写了 {} 行代码
    # ---------------
    # """.format(i, line_count)
    # )
    return dict_file_lines


    print(query_my_program_files(r'xxx练习题'))
  • 相关阅读:
    Ubuntu下使用Sysvinit实现自定义服务(简单研究)
    Linux初始化init系统-Sysvinit、Upstart、Systemd
    Ubuntu查看系统版本的方法
    Linux查看文件内容命令:more(转)
    Linux查看文件内容命令:less(转)
    Ubuntu 16.04下MySQL 5.7.18取消开机启动(解决无法使用Sysvinit(update-rc.d/sysv-rc-conf)脚本关闭)
    为什么说Ubuntu的运行级别为2
    Ubuntu 16.04开机进入命令行(tty1)+分辨率调节+字体颜色设置+中文乱码解决(解决虚拟终端Ctrl+Alt+F1分辨率太大)
    Linux运行级别研究(转)
    Linux服务管理(Ubuntu服务管理工具sysv-rc-conf)(转)
  • 原文地址:https://www.cnblogs.com/shanshan-test/p/12588196.html
Copyright © 2011-2022 走看看