编写Python参考手册速查软件
编写Python参考手册速查软件
学习Python编程会经常用到各种函数或者涉及到列表的操作、字典的操作、字符串的操作。由于本人年龄偏大而且记忆力不如从前,为了学习方便随时可以查到相关的语法说明,为此编写了一个参考手册速查程序。与大家分享一下,首先说明一下编程的思路和流程以及编程过程中遇到的一些问题。编写该程序主要用到字典和字符和列表的相关操作。本软件数据采用csv格式,可以随时整理成电子表格输出。
编 程 思 路
1. 设计数据的查询方式,查询手册主要是根据语法的英文首字母进行索引(因为每个人不一定把语法的完整词汇记下来)
2. 根据查询方式设计数据的存储形式,字典的格式正符合此要求(键值对),设计两个字典,都以首字母作为键,一个字典(函数)以首字母开头的语法作为值,一个语法描述为值。两个字典的首字母是一一对应的,存储的文件为csv格式
3. 编写录入和修改、增加、删除模块
4. 设计程序主界面
5. 整合主程序
分享源代码
根据查询的功能,分为内置函数查询、列表方法查询、字典方法查询、字符串方法查询。
功能板块及源码
1. 内置函数的csv文件录入和生成源码如下:
#_*_coding:utf-8_*_# 作者 :liuxiaowei# 创建时间 :3/18/22 10:04 PM# 文件 :内置函数字典及描述生成.py# IDE :PyCharmimport csv# 自定义一个函数生成一个首字母是a-z的空字典def cre_Dic(PyD = {}): letter_key = 'abcdefghijklmnopqrstuvwxyz' for i in range(len(letter_key)): PyD[letter_key[i]] = [] return PyD# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值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('请核实输入的信息!')# 定义一个函数添加描述列表,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('请核实输入的信息!')# 利用字典生成函数名称的csv文件的函数,参数为函数名字典def create_Csv(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 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 Oper_Fun_name_Dict(): # 调用生成键为26个英文字母,值为空的函数生成函数名字典的函数 Py_func_Dic = cre_Dic() # 设定一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv(Py_func_Dic) break else: # 输入函数名称 words = input('\n请输入函数名称(不分大小写):') # 调用添加函数名的函数,参数为首字母,函数字典,函数名 add_Words(letter1,Py_func_Dic, words)# 定义一个向函数描述的字典添加数据并生成csv文件的函数def Oper_Func_desc_Dict(): # 生成一个函数名称描述的字典 desc_Dict = cre_Dic() # 定义一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv_desc(desc_Dict) break else: # 输入函数的描述内容 contents = input('\n请输入描述内容:') # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容 add_Desc(letter1, desc_Dict, contents)# 定义一个主函数,生成主界面def main(): print('\n') print('==== Python知识手册速查程序之文件生成模块 ==== ') print('-' * 40) print(' 1. 内置函数名称文件生成\n 2. 内置函数描述文件生成\n 3. 退 出') print('-' * 40)# 定义一个操作函数operationdef Operation(): # 调用界面主函数 main() # 定义一个选择变量 choice = int(input('请输入选项:(1,2,3)')) Done = True # 循环操作 while Done: if choice == 1: Oper_Dict_name() elif choice == 2: Oper_desc_Dict() question = input('Do you want to quit?(q)').lower() if question == 'q' or question == 'quit': break else: Done = True if choice == 3: break# 启动主程序if __name__ == "__main__": Operation()
运行结果如下:
2. 列表方法的文件生成代码与内置函数完全一样的,只是把相应的csv文件名修改一下就可以了,源码如下:
#_*_coding:utf-8_*_# 作者 :liuxiaowei# 创建时间 :3/18/22 3:16 PM# 文件 :生成列表方法的文件.py# IDE :PyCharmimport csv'''用于列表的方法的'方法'和'描述'的生成文件'''# 自定义一个函数生成一个首字母是a-z的空字典def cre_Dic(PyD = {}): letter_key = 'abcdefghijklmnopqrstuvwxyz' for i in range(len(letter_key)): PyD[letter_key[i]] = [] return PyD# 利用字典生成函数名称的csv文件的函数,参数为函数名字典def create_Csv(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 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]])# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值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('请核实输入的信息!')# 定义一个函数添加描述列表,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('请核实输入的信息!')# 定义一个向函数描述的字典添加数据并生成csv文件的函数def Oper_Lst_desc_Dict(): # 生成一个函数名称描述的字典 desc_Dict = cre_Dic() # 定义一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv_desc(desc_Dict) break else: # 输入函数的描述内容 contents = input('\n请输入列表方法描述内容:') # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容 add_Desc(letter1, desc_Dict, contents)# 定义一个向函数名字典添加数据并生成csv文件的函数def Oper_Fun_name_Dict(): # 调用生成键为26个英文字母,值为空的函数生成函数名字典的函数 Py_func_Dic = cre_Dic() # 设定一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv(Py_func_Dic) break else: # 输入函数名称 words = input('\n请输入列表名称(不分大小写):') # 调用添加函数名的函数,参数为首字母,函数字典,函数名 add_Words(letter1,Py_func_Dic, words)# 定义一个操作函数operationdef Operation(): # 调用界面主函数 main() # 定义一个选择变量 choice = int(input('请输入选项:(1,2,3)')) Done = True # 循环操作 while Done: if choice == 1: Oper_Dict_name() elif choice == 2: Oper_desc_Dict() question = input('Do you want to quit?(q)').lower() if question == 'q' or question == 'quit': break else: Done = True if choice == 3: break# 定义一个主函数,生成主界面def main(): print('\n') print('==== Python知识手册速查程序之文件生成模块 ==== ') print('-' * 40) print(' 1. 列表方法名称文件生成\n 2. 列表方法描述文件生成\n 3. 退 出') print('-' * 40)if __name__ == "__main__": Operation()
运行结果如下:
3. 字典方法的文件生成,源码如下:
#_*_coding:utf-8_*_# 作者 :liuxiaowei# 创建时间 :3/18/22 4:05 PM# 文件 :生成字典及其描述.py# IDE :PyCharmimport csv'''用于字典的方法的'方法'和'描述'的生成文件'''# 自定义一个函数生成一个首字母是a-z的空字典def cre_Dic(PyD = {}): letter_key = 'abcdefghijklmnopqrstuvwxyz' for i in range(len(letter_key)): PyD[letter_key[i]] = [] return PyD# 利用字典生成字典名称的csv文件的函数,参数为函数名字典def create_Csv_Name(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 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]])# 定义一个添加字典值为字典方法名字的列表函数,参数为首字母作为键,函数名为对应的列表值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('请核实输入的信息!')# 定义一个函数添加描述列表,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('请核实输入的信息!')# 定义一个向函数描述的字典添加数据并生成csv文件的函数def Oper_desc_Dict(): # 生成一个函数名称描述的字典 desc_Dict = cre_Dic() # 定义一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv_Desc(desc_Dict) break else: # 输入函数的描述内容 contents = input('\n请输入字典方法描述内容:').replace(',', ',') # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容 add_Desc(letter1, desc_Dict, contents)# 定义一个向函数名字典添加数据并生成csv文件的函数def Oper_Dict_name(): # 调用生成键为26个英文字母,值为空的字典生成字典名字典的函数, 比较绕口😊 Py_Dic = cre_Dic() # 设定一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv_Name(Py_Dic) break else: # 输入函数名称 words = input('\n请输入字典方法名称(不分大小写):').replace(',',',') # 调用添加函数名的函数,参数为首字母,函数字典,函数名 add_Words(letter1,Py_Dic, words)# 定义一个主函数,生成主界面def main(): print('\n') print('==== Python知识手册速查程序之文件生成模块 ==== ') print('-' * 40) print(' 1. 字典方法文件生成\n 2. 字典方法描述文件生成\n 3. 退 出') print('-' * 40)# 定义一个操作函数operationdef Operation(): # 调用界面主函数 main() # 定义一个选择变量 choice = int(input('请输入选项:(1,2,3)')) Done = True # 循环操作 while Done: if choice == 1: Oper_Dict_name() elif choice == 2: Oper_desc_Dict() question = input('Do you want to quit?(q)').lower() if question == 'q' or question == 'quit': break else: Done = True if choice == 3: breakif __name__ == "__main__": Operation()
运行结果如下图:
4. 字符串方法文件生成源码如下:
#_*_coding:utf-8_*_# 作者 :liuxiaowei# 创建时间 :3/18/22 5:07 PM# 文件 :字符串方法及描述生成文件.py# IDE :PyCharmimport csv'''用于字符串的方法的'方法'和'描述'的生成文件'''# 自定义一个函数生成一个首字母是a-z的空字典def cre_Dic(PyD = {}): letter_key = 'abcdefghijklmnopqrstuvwxyz' for i in range(len(letter_key)): PyD[letter_key[i]] = [] return PyD# 利用字典生成字符串名称的csv文件的函数,参数为函数名字典def create_Csv_String(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 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]])# 定义一个添加字典值(函数名列表)函数,参数为首字母作为键,函数名为对应的列表值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('请核实输入的信息!')# 定义一个函数添加描述列表,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('请核实输入的信息!')# 定义一个向字符串描述的字典添加数据并生成csv文件的函数def Oper_String_desc_Dict(): # 生成一个函数名称描述的字典 desc_Dict = cre_Dic() # 定义一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv_desc(desc_Dict) break else: # 输入函数的描述内容 contents = input('\n请输入描述内容:').replace(',', ',') # 调用添加函数名描述内容的函数,参数为首字母,函数描述字典,描述内容 add_Desc(letter1, desc_Dict, contents)# 定义一个向函数名字典添加数据并生成csv文件的函数def Oper_String_name_Dict(): # 调用生成键为26个英文字母,值为空的字典生成字典名字典的函数, 比较绕口😊 Py_Dic = cre_Dic() # 设定一个逻辑变量 Done = True # 循环操作,连续输入数据 while Done: # 输入的首字母用于查找相应的字典键值对 letter1 = input('\n请输入首字母(26个英文字母不分大小写):') # 如果输入quit,退出程序,生成csv文件 if letter1 == 'quit': create_Csv_String(Py_Dic) break else: # 输入函数名称,replace函数为了替换误输入的英文逗号, words = input('\n请输入字符串方法名称(不分大小写):').replace(',',',') # 调用添加函数名的函数,参数为首字母,函数字典,函数名 add_Words(letter1,Py_Dic, words)# 定义一个主函数,生成主界面def main(): print('\n') print('==== Python知识手册速查程序之文件生成模块 ==== ') print('-' * 40) print(' 1. 字符串方法文件生成\n 2. 字符串方法描述文件生成\n 3. 退 出') print('-' * 40)# 定义一个操作函数operationdef Operation(): # 调用界面主函数 main() # 定义一个选择变量 choice = int(input('请输入选项:(1,2,3)')) Done = True # 循环操作 while Done: if choice == 1: Oper_String_name_Dict() elif choice == 2: Oper_String_desc_Dict() question = input('Do you want to quit?(q)').lower() if question == 'q' or question == 'quit': break else: Done = True if choice == 3: breakif __name__ == "__main__": Operation()
运行结果如下图:
添加条目模块分为两部分:
增加函数名文件源码如下:
#_*_coding:utf-8_*_# 作者 :liuxiaowei# 创建时间 :3/18/22 6:44 PM# 文件 :增加名字文件条目.py# IDE :PyCharmimport 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 :PyCharmimport 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_dictdef 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 :PyCharmimport 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_dictdef 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 :PyCharmimport 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)# 定义一个操作函数operationdef 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: breakif __name__ == "__main__": # 调用操作函数 Operation()
运行结果如下图:
备注:
此程序本人没加try: except:捕捉异常,可以自己添加,每个板块录入数据的时候,随时可以在输入首字母的时候输入quit退出。希望此程序对您所有启发和帮助。