PowerShell实现简单的搜索地区功能
import os
from tkinter import Tk
from tkinter import Label
from tkinter import Button
from tkinter import Entry
from tkinter import StringVar # public Dictionary<string, string> GenerateAreaDict(string filePath) {
# Dictionary<string, string> areaDict = new Dictionary<string, string>(); # if (File.Exists(filePath)) {
# string[] areaCode = File.ReadAllLines(filePath); # foreach (string code in areaCode) {
# areaDict.Add(code.Substring(0, 6), code);
# }
# } # return areaDict;
# } def generateAreaDict():
text = '' with open(fullFilePath, 'r') as file:
text = file.read() text = text.replace(' ', '').replace('\t', '').split('\n') for line in text:
if len(line) > 0:
area[line[:6]] = line[6:] # public string[] Search(string areaName, Dictionary<string, string> areaDict) {
# List<string> areaIndex = new List<string>(); # foreach (KeyValuePair<string, string> kvp in areaDict) {
# if (kvp.Value.Contains(areaName)) {
# areaIndex.Add(kvp.Key);
# }
# } # return areaIndex.ToArray();
# } def search():
name = entryVar.get().replace(' ', '') if len(name) > 0:
result.clear() for key, value in area.items():
if value.find(name) != -1:
result.append([key, value]) if len(result) > 0:
deepSearch()
else:
labelVar.set('Not find.') # public string[] DeepSearch(string[] areaIndex, Dictionary<string, string> areaDict) {
# List<string> areaInfo = new List<string>();
# string temp = ""; # foreach (string index in areaIndex) {
# temp = ""; # if (index.Substring(2, 2).Equals("00")) {
# temp += areaDict[index];
# } else if (index.Substring(4, 2).Equals("00")) {
# string i = index.Substring(0, 2) + "0000"; # if (areaDict.ContainsKey(i)) {
# temp += (areaDict[i] + "\t");
# }
# temp += areaDict[index];
# } else {
# string i = index.Substring(0, 2) + "0000";
# string j = index.Substring(0, 4) + "00"; # if (areaDict.ContainsKey(i)) {
# temp += (areaDict[i] + "\t");
# }
# if (areaDict.ContainsKey(j)) {
# temp += (areaDict[j] + "\t");
# }
# temp += areaDict[index];
# } # areaInfo.Add(temp);
# } # return areaInfo.ToArray();
# } def deepSearch():
for r in result:
code = r[0] if code[4:] != '':
key = code[:4]+''
if key in area:
r.append(key)
r.append(area[key]) key = code[:2]+''
if key in area:
r.append(key)
r.append(area[key]) elif code[2:] != '':
key = code[:2]+''
if key in area:
r.append(key)
r.append(area[key]) showResult() def showResult():
text = '' for r in result:
line = '' for i in range(1, len(r), 2):
line = r[i] + ' ' + line text = text + line + '\n' labelVar.set(text) def searchCallback(event):
search() # public class AreaSearchToolApp {
# public void Run() {
# string filePath = "AreaCode.txt";
# string areaName = "萧山"; # Dictionary<string, string> areaDict = GenerateAreaDict(filePath); # string[] areaIndex = Search(areaName, areaDict);
# string[] areaInfo = DeepSearch(areaIndex, areaDict);
# } window = Tk()
window.title('Search Tool')
window.geometry('350x200') labelVar = StringVar() # should after Tk() function
entryVar = StringVar()
area = {}
result = []
cwd = os.getcwd()
filename = 'AreaCode.txt'
fullFilePath = os.path.join(cwd, filename) Label(window, textvariable=labelVar, justify='left').pack(fill='both', expand='yes') if os.path.exists(fullFilePath) and os.path.isfile(fullFilePath):
generateAreaDict() Entry(window, textvariable=entryVar).pack(fill='x', padx=10, pady=5)
window.bind('<Return>', searchCallback)
Button(window, text='Search', command=search).pack(fill='x', padx=10, pady=5)
else:
labelVar.set('Please put ' + filename + ' under ' + cwd + '.') window.mainloop()
https://files.cnblogs.com/files/howld/SearchTool.zip
PowerShell实现简单的搜索地区功能的更多相关文章
- 基于Vuejs的搜索匹配功能
最近一直在看vue,查了很多资料,看了很多文档和博客,大概半知半解了,然后利用所理解的知识写了一个简单的搜索匹配功能. 大概长这个样子: <!DOCTYPE html> <htm ...
- jQuery实现简单前端搜索功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue2.0实现1.0的搜索过滤器功能
Vue2.0删除了很多1.0的比较实用的过滤器,如filterBy,orderBy.官方文档给了通过计算属性实现1.0搜索过滤器功能,自己又加入了大小写通用检索功能,比较简单,学一下. <bod ...
- 使用 JavaScript 实现简单候选项推荐功能(模糊搜索)【收藏】【转】
当我们使用 Google 等搜索功能时,会出现与搜索内容有关的候选项.使用 JavaScript 搜索字符串,通常会使用 indexOf 或者 search 函数,但是非常僵硬,只能搜索匹配特定词语. ...
- JavaScript实现搜索联想功能
-.虽然Jquery已经有了一个完整的包 实现前端搜索联想功能,但是出于学习还是想了解一下实现此功能的原理性 回想起来 实现此功能很简单,1.前端输入字符串 文本改变 异步请求服务器 将返回的资料显示 ...
- 【Android自己定义View实战】之自己定义超简单SearchView搜索框
[Android自己定义View实战]之自己定义超简单SearchView搜索框 这篇文章是对之前文章的翻新,至于为什么我要又一次改动这篇文章?原因例如以下 1.有人举报我抄袭,原文链接:http:/ ...
- 基于PHP实现一个简单的在线聊天功能(轮询ajax )
基于PHP实现一个简单的在线聊天功能(轮询ajax ) 一.总结 1.用的轮询ajax 二.基于PHP实现一个简单的在线聊天功能 一直很想试着做一做这个有意思的功能,感觉复杂的不是数据交互和表结构,麻 ...
- (转)用C#实现实现简单的 Ping 的功能,用于测试网络是否已经连通
本文转载自:http://blog.csdn.net/xiamin/archive/2009/02/14/3889696.aspx 用C#实现实现简单的 Ping 的功能,用于测试网络是否已经联通 1 ...
- 简单实现UITableView索引功能(中英文首字母索引) (二) By HL
简单实现UITableView索引功能(中英文首字母索引)(一) ByH罗 相关类: NSString+PinYing(获取中英文首字母) 参考上面链接 #import "ViewCon ...
随机推荐
- java、asp.net 通用分页码函数
<script type="text/javascript"> $(document).ready(function(){ ajaxGetPaging(1); }); ...
- 转载:IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数
一.IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫“IIS限制连接数”. 客户请求的连接内容包括: [ ...
- Django中把SQLite数据库转换为Mysql数据库的配置方法
我们在学习和开发Django的时候,一般是使用SQLite作为数据库.在正式讲网站部署上线是用MySQL数据库比较多.MySQL支持高并发的访问,而且相对于SQLite,MySQL性能更好.下面讲讲如 ...
- Xcode9模拟器隐藏边框
选中模拟器,在Mac顶部菜单栏找到Window-->Show Device Bezeles 取消勾选代表去除黑边,勾选代表展示黑边,根据个人喜好设置吧
- inline, block, and inline-block
总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...
- Oracle 数据库中对记录进行分页处理
学习到 oracle 的视图的时候,了解到对 Oracle 中数据的记录进行分页处理和 Mysql 提供的 limit 来进行分页处理大有不同,limit 是 mysql 中特有的关键字. 那么在 o ...
- Posche Piwis 3 Original and Clone – What’s the difference
Category : Car Diagnostic Tools What’s the difference between Porsche Tester Piwis III original and ...
- vue项目中编写一个图片预览的公用组件
今天产品提出了一个查看影像的功能需求. 在查看单据的列表中,有一列是影像字段,一开始根据单据号调用接口查看是否有图片附件,如果有则弹出一个全屏的弹出层,如果没有给出提示.而且,从列表进入详情之后,附件 ...
- 3200 [HNOI2009]有趣的数列
题面 dalao们都说这是一题简单的卡特兰数,画一画就出来了 emmmmm…… 讲讲怎么分解质因数来算组合数 先打个表 void prim(){ ex[]=ex[]=; ;i<=*n;i++){ ...
- mysql 1055
在 /etc/my.cnf 文件里加上如下: sql_mode=NO_ENGINE_SUBSTITUTION