编写Python参考手册速查软件(二)

简介: 编写Python参考手册速查软件(二)

接上文 编写Python参考手册速查软件(一)https://developer.aliyun.com/article/1618069

添加条目模块分为两部分:
增加函数名文件源码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/18/22 6:44 PM
# 文件      :增加名字文件条目.py
# IDE      :PyCharm

import csv

# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值
def add_Words(letter, words_Dict, words):
    if letter.lower() in words_Dict.keys():
        for key in words_Dict.keys():
            if letter.lower() == key:
                words_Dict[letter].append(words)
    else:
        print('请核实输入的信息!')



# 定义一个最后的整理函数,一旦需要修改函数描述文件是需要调用这个函数
def final_csv():
    py_dict = {
   }
    with open('Py_String_Name.csv', mode='r') as f:
        reader = csv.reader(f, delimiter=',')
        for row in reader:
            # 把读出来的csv文件内容转成列表
            row_lst = row[1].strip('[]').replace('\'', '').split(',')
            # 临时创建一个空列表,添加去掉空格的内容
            row1 = []
            for i in row_lst:
                # 去掉列表中内容的前空格
                row1.append(i.strip(' '))
            py_dict[row[0]] = row1

    with open('Py_String_Name.csv', mode='w') as fw:
        writer = csv.writer(fw, delimiter=',')
        for key in py_dict.keys():
            writer.writerow([key, py_dict[key]])
    return py_dict

# 生成csv文件
def create_Csv_desc(Pydict):
    # 生成指定文件名的csv文件
    with open('Py_String_Name.csv', mode = 'w', newline='') as f:
        writer = csv.writer(f, delimiter = ',')
        for key in Pydict.keys():
            writer.writerow([key, Pydict[key]])


# 修改函数描述csv文件内容的函数
def modi_desc_csv():
    desc_Dict = final_csv()
    Done = True
    # 循环操作,连续输入数据
    while Done:
        # 输入的首字母用于查找相应的字典键值对
        letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
        # 如果输入quit,退出程序,生成csv文件
        if letter1 == 'quit':
            create_Csv_desc(desc_Dict)
            break
        else:
            # 输入函数的描述内容
            contents = input('\n请输入描述内容:')
            # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容
            add_Words(letter1, desc_Dict, contents)


if __name__ == "__main__":
    modi_desc_csv()

增加语法描述文件源码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/18/22 2:51 PM
# 文件      :增加某个描述条目.py
# IDE      :PyCharm

import csv


# 定义一个函数添加描述列表,content为描述的内容作为字典值列表的内容,desc_Dict为描述字典,首字母为键
def add_Desc(letter, desc_Dict, content):
    if letter.lower() in desc_Dict.keys():
        for key in desc_Dict.keys():
            # 输入的内容不能为空
            if letter.lower() == key and content != '':
                desc_Dict[letter].append(content)
    else:

        print('请核实输入的信息!')


# 定义一个最后的整理函数,一旦需要修改函数描述文件是需要调用这个函数
def final_csv():
    py_dict = {
   }
    with open('内置函数名称文件.csv', mode='r') as f:
        reader = csv.reader(f, delimiter=',')
        for row in reader:
            # 把读出来的csv文件内容转成列表
            row_lst = row[1].strip('[]').replace('\'', '').split(',')
            # 临时创建一个空列表,添加去掉空格的内容
            row1 = []
            for i in row_lst:
                # 去掉列表中内容的前空格
                row1.append(i.strip(' '))
            py_dict[row[0]] = row1


    with open('Py_func_desc.csv', mode='w') as fw:
        writer = csv.writer(fw, delimiter=',')
        for key in py_dict.keys():
            writer.writerow([key, py_dict[key]])
    return py_dict

def create_Csv_desc(Pydict):
    # 生成指定文件名的csv文件
    with open('内置函数名称描述文件.csv', mode = 'w', newline='') as f:
        writer = csv.writer(f, delimiter = ',')
        for key in Pydict.keys():
            writer.writerow([key, Pydict[key]])

# 修改函数描述csv文件内容的函数
def modi_desc_csv():
    desc_Dict = final_csv()
    Done = True
    # 循环操作,连续输入数据
    while Done:
        # 输入的首字母用于查找相应的字典键值对
        letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
        # 如果输入quit,退出程序,生成csv文件
        if letter1 == 'quit':
            create_Csv_desc(desc_Dict)
            break
        else:
            # 输入函数的描述内容
            contents = input('\n请输入描述内容:')
            # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容
            add_Words(letter1, desc_Dict, contents)
            if __name__ == "__main__":
    modi_desc_csv()

删除某个条目的文件源码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/18/22 1:55 PM
# 文件      :删除描述文件的某个条目内容.py
# IDE      :PyCharm

import csv

# 定义一个函数添加描述列表,content为描述的内容作为字典值列表的内容,desc_Dict为描述字典,首字母为键
def del_Desc(letter, desc_Dict):
    if letter.lower() in desc_Dict.keys():
        for key in desc_Dict.keys():
            # 输入的内容不能为空
            if letter.lower() == key:
                desc_Dict[letter].remove()

# 定义一个最后的整理函数,一旦需要修改函数描述文件是需要调用这个函数
def final_csv():
    py_dict = {
   }
    with open('内置函数名称描述文件.csv', mode='r') as f:
        reader = csv.reader(f, delimiter=',')
        for row in reader:
            # 把读出来的csv文件内容转成列表
            row_lst = row[1].strip('[]').replace('\'', '').split(',')
            # 临时创建一个空列表,添加去掉空格的内容
            row1 = []
            for i in row_lst:
                # 去掉列表中内容的前空格
                row1.append(i.strip(' '))
            py_dict[row[0]] = row1


    with open('内置函数名称描述文件.csv', mode='w') as fw:
        writer = csv.writer(fw, delimiter=',')
        for key in py_dict.keys():
            writer.writerow([key, py_dict[key]])
    return py_dict

def create_Csv_desc(Pydict):
    # 生成指定文件名的csv文件
    with open('内置函数名称描述文件.csv', mode = 'w', newline='') as f:
        writer = csv.writer(f, delimiter = ',')
        for key in Pydict.keys():
            writer.writerow([key, Pydict[key]])
# 修改函数描述csv文件内容的函数
def modi_desc_csv():
    desc_Dict = final_csv()
    Done = True
    # 循环操作,连续输入数据
    while Done:
        # 输入的首字母用于查找相应的字典键值对
        letter1 = input('\n请输入首字母(26个英文字母不分大小写):')
        del_Desc(letter1, desc_Dict)
        # 如果输入quit,退出程序,生成csv文件
        if letter1 == 'quit':
            create_Csv_desc(desc_Dict)
            break
        # else:
        #     # 输入函数的描述内容
        #     contents = input('\n请输入描述内容:')
            # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容


if __name__ == "__main__":
    modi_desc_csv()

手册查询主程序源码

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/17/22 5:22 PM
# 文件      :create_Python_速查手册.py
# IDE      :PyCharm

import csv
# 导入时间模块是为了输出条目的时候停顿一下,可根据自己需要是否设定
# import time

# 定义一个查找函数, choice_Num参数为选择项的数字
def find_Word(letter, choice_Num=1, dict='内置函数名称文件.csv', desc='内置函数名称描述文件.csv'):
    # 判断选项,然后给(函数、列表、字典、字符串)名称和描述赋值
    if choice_Num == 2:
        dict, desc = '列表方法文件.csv', '列表方法描述文件.csv'

    elif choice_Num == 3:
        dict, desc = '字典方法名称文件.csv', '字典方法描述文件.csv'

    elif choice_Num == 4:
        dict, desc = '字符串方法名称文件.csv', '字符串方法描述文件.csv'
    else:
        pass

    # 打开Py_func.csv是函数名称的csv文件,读取数据
    with open(dict, mode='r') as fr:
        # 实例化一个reader对象
        reader = csv.reader(fr, delimiter=',')
        # 根据行去查找数据
        for row in reader:
            if row[0] == letter and row[1] != '':
                # 将读取的值转换为列表
                row1_lst = row[1].strip('[]').replace('\'', '').split(',')

                # 定义一个函数名的空列表
                func_name_lst = []
                for fun_name in row1_lst:
                    # 去掉列表中内容的前空格
                    func_name_lst.append(fun_name.strip(' '))
    # 打开描述内容csv文件
    with open(desc, mode='r') as fd:
        reader = csv.reader(fd, delimiter=',')
        for row in reader:
            if row[0] == letter and row[1] != '':
                # 将读取的描述内容变成列表, 去掉"'"单引号
                row2_lst = row[1].strip('[]').replace('\'', '').split(',')

                func_desc_lst = []
                for fun_desc_name in row2_lst:
                    # 去掉列表中内容的前空格
                    func_desc_lst.append(fun_desc_name.strip(' '))

    # 输出查找的函数及相应的描述内容
    print(f'你查找的与首字母{letter}相关的内置函数及描述为:\n')
    for i in range(len(func_name_lst)):
        if func_name_lst[i] != '':
            print(f'内置函数名:"{func_name_lst[i]}"  描 述为:{func_desc_lst[i]}')
            # 时间函数可以根据自己需要设计
            # time.sleep(2)
        else:
            print('没有此函数!')


# 定义一个主函数,生成主界面
def main():
    print('\n')
    print('==== Python知识手册速查程序 ====  ')
    print('-' * 40)
    print('  1. 内置函数查询\n  2. 列表方法查询(输入a)\n  3. 字典方法查询(输入a)\n  4. 字符串方法查询(输入s)\n  5. 退 出')
    print('-' * 40)


# 定义一个操作函数operation
def Operation():
    # 调用界面主函数
    main()
    # 定义一个选择变量
    choice = int(input('请输入选项:(1,2,3,4,5)'))
    Done = True
    # 循环操作
    while Done:
        # 判断选择,如果选择1
        for i in range(1, 5):
            if choice == i:
                letter1 = input("请输入函数名称首字母(不分大小写):").lower()
                find_Word(letter1, choice)
        question = input('Do you want to quit?(q)').lower()
        if question == 'q' or question == 'quit':
            break
        else:
            Done = True
        if choice == 5:
            break


if __name__ == "__main__":
    # 调用操作函数
    Operation()

运行结果如下图:

image.png

备注:

此程序本人没加try: except:捕捉异常,可以自己添加,每个板块录入数据的时候,随时可以在输入首字母的时候输入quit退出。希望此程序对您所有启发和帮助。

相关文章
|
5天前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
21天前
|
API 开发者 Python
Python高手修炼手册:精通文件系统操作,掌控I/O管理,提升编程效率
在Python编程中,从初学者成长为高手,关键在于深入理解底层细节并熟练运用高效工具。本文通过对比分析,探讨如何从基础出发,逐步精通文件系统操作与I/O管理,显著提升编程效率。文件系统操作方面,pathlib模块相较于传统的os和os.path模块更为直观易用;在I/O管理上,异步I/O相比同步I/O能大幅提升程序的并发能力和响应速度。通过这些技巧,开发者不仅能优化代码结构,还能预见并解决潜在性能问题,实现从细节到全局的全面提升。
15 3
|
2天前
|
存储 IDE 开发工具
编写Python参考手册速查软件(一)
编写Python参考手册速查软件(一)
|
2月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
79 1
|
2月前
|
程序员 测试技术 开发工具
豆瓣评分7.9!世界级讲师耗时5年整理出的Python学习手册!
Python是一门流行的开源编程语言,广泛用于各个领域的独立程序与脚本化应用中。它不仅免费、可移植、功能强大,同时相对简单,而且使用起来充满乐趣。从软件业界的任意一角到来的程序员,都会发现Python着眼于开发者的生产效率以及软件质量,因此无论你的项目是大还是小,选择Python都将带来战略性的优势。 今天给小伙伴们分享的这份手册讲述了完整的Python语言,力争满足“语言”和“原理”两个方面的需求,并拥有足够的深度以便实用。废话不多说,下面展示给大家。
|
1天前
|
存储 数据可视化 Python
Python编程中的数据可视化技术
在数据驱动的世界中,将复杂的数据集转换为易于理解的视觉表示形式至关重要。本文将深入探讨如何使用Python进行数据可视化,包括选择合适的库、处理数据和设计有效的图表。我们将一起学习如何让数据讲故事,并确保你的信息传达清晰且有影响力。
|
1天前
|
网络协议 IDE iOS开发
Python编程---简单的聊天工具
Python编程---简单的聊天工具
11 2
|
1天前
|
小程序 IDE 开发工具
Python编程--个人信息修改小程序
Python编程--个人信息修改小程序
10 2
|
1天前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
|
1天前
|
Python
Python编程--解压缩文件
Python编程--解压缩文件