info

Python3 网易有道词典结合PyInstaller,tkinter制作一个简单的中英文翻译exe文件

别等时光非礼了梦想. 提交于 2019-12-05 17:17:41
这是自己的一个小想法,但是最后还是经过2天的瞎鼓捣实验成果了。虽然界面很丑,但是我很喜欢它,因为有Dos黑窗口,少去了安装步骤,更多的是少去了广告,基于有道翻译里面的api接口,所以我不怕翻译的不准确啦 首先这里分三大步进行肢解: 一: 有道词典的API接口爬取: 二:tkinter 各种控件的使用: 三:PyInstaller 打包成exe文件,直接在桌面上进行应用: 首先:我们来获取有道词典的API接口; 打开网址: 网址 http://fanyi.youdao.com/ 这里通过HttpFox 拦截请求中我们可以看到,我们在网址: http://fanyi.youdao.com/ 中输入中国的时候,调用了post接口,这里的post 参数我把它特别的截出来了,其中key 为i 的value值 是一个乱码的,这里后面会一会就有讲到,里面post参数都有罗列。 相对于中文的翻译,英文的就很好的看到了, 我们可以直接看到对于i的value值为china 通过查看网页源代码的方式查看有道翻译的js文件,来查看salt和sign是怎么生成的 这里的sign值是进行了md5加密来着 贴上有道API代码的获取: # -*- coding: utf-8 -*- # @Time : 2017/8/28 0:42 # @Author : 蛇崽 # @Email : 17193337679@163

linux pipe文件系统(pipefs)

£可爱£侵袭症+ 提交于 2019-12-05 15:59:21
linux的pipe,FIFO(named pipe)都是基于pipe文件系统(pipefs)的。 linux的pipe和FIFO都是半双工的,即数据流向只能是一个方向; pipe只能在pipe的创建进程及其后代进程(后代进程fork/exec时,通过继承父进程的打开文件描述符表)之间使用,来实现通信; FIFO是有名称的pipe,即可以通过名称查找到pipe,所以没有“只能在pipe的创建进程及其后代进程之间使用”的限制;通过名称找到pipe文件,创建相应的pipe,就可以实现进程间的通信。 I.数据结构 i.pipe_buffer 管道缓存,用于暂存写入管道的数据;写进程通过管道写入端将数据写入管道缓存中,读进程通过管道读出端将数据从管道缓存中读出 /* include/linux/pipe_fs_i.h */ 8 #define PIPE_BUF_FLAG_LRU 0x01 /* page is on the LRU */ 9 #define PIPE_BUF_FLAG_ATOMIC 0x02 /* was atomically mapped */ 10 #define PIPE_BUF_FLAG_GIFT 0x04 /* page is a gift */ 11 12 /** 13 * struct pipe_buffer - a linux kernel pipe

阶段性项目 ATM+购物车项目

不问归期 提交于 2019-12-05 14:18:52
ATM + 购物车https://www.cnblogs.com/kermitjam/articles/10687180.htmlreadme 内容前戏: 一个项目是如何从无到有的.一 需求分析 对项目需求进行分析,并提取出相应的功能. - 额度15000或自定义 ---> 注册功能 - 实现购物商城,买东西加入购物车,调用信用卡接口结账 ---> 购物车, 支付功能 - 可以提现,手续费5% ---> 提现 - 支持多账户登录 ---> 登陆 - 支持账户间转账 ---> 转账 - 记录每月日常消费流水 ---> 记录流水 - 提供还款接口 ---> 还款 - ATM记录操作日志 ---> 日志功能 - 提供管理接口,包括添加账户、用户额度,冻结账户等... ---> 管理员功能 - 用户认证功能 ---> 登陆认证,使用装饰器二 程序的架构设计 用户功能层: 负责接收用户输入的内容,并返回结果给用户. 做一些小的逻辑判断. 接口层: 处理业务逻辑. 数据处理层: 对文件进行处理. 增,删,查,改操作. 三层架构的好处: 1.代码结构清晰 2.可扩展性强. 3.易维护,管理.三 分任务开发 - CTO - 技术总监 - 架构师 - 项目经理 - 普通开发 UI: 用户界面设计师 前端: 网页的开发 后端: 写业务逻辑,写接口 测试: 测试软件 运维: 部署项目.四 测试 -

Android之Adapter用法总结

我与影子孤独终老i 提交于 2019-12-05 13:12:45
Android 之 Adapter 用法总结 1. 概念 Adapter 是连接后端数据和前端显示的适配器接口,是数据和 UI ( View )之间一个重要的纽带。在常见的 View(List View,Grid View) 等地方都需要用到 Adapter 。如下图直观的表达了 Data 、 Adapter 、 View 三者的关系: Android 中所有的 Adapter 一览: 由图可以看到在 Android 中与 Adapter 有关的所有接口、类的完整层级图。在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展。比较常用的有 Base Adapter , Impleader , Adapter , Counteradaptation 等。 BaseAdapter是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性; ArrayAdapter支持泛型操作, 最为简单,只能展示一行字。 SimpleAdapter有最好的扩充性,可以自定义出各种效果。 SimpleCursorAdapter 可以适用于简单的纯文字型ListView,它需要Cursor的字段和UI的id对应起来。如需要实现更复杂的UI也可以重写其他方法。可以认为是 SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。 2.应用案例 1)

django学习笔记---使用orm实现用户的增删改查

自闭症网瘾萝莉.ら 提交于 2019-12-05 12:50:37
Django练习的基本框架 主程序url.py from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'app1/',include("app01.urls")), # 路由分级 url(r'app2/',include("app02.urls")), ] app01 下 admin.py from app01 import models admin.site.register(models.UserInfo) admin.site.register(models.UserGroup) 在主程序url.py写上admin的url,这样在django.admin中就有 url.py from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^login/', views.login),# 看视频说,这个login/ 和login.html中的form表单的login/要么都加,要么都不加,不过貌似现在只能都加 url(r

python try catch

☆樱花仙子☆ 提交于 2019-12-05 12:22:25
捕获异常的方式 方法一:捕获所有的异常 try : a = b b = c except Exception , data : print Exception , ":" , data '' '输出:<type ' exceptions . Exception '> : local variable ' b ' referenced before assignment ' 方法二:采用traceback模块查看异常,需要导入traceback模块, 这个方法会打印出异常代码的行号 try : a = b b = c except : print traceback . print_exc ( ) '' '输出: Traceback (most recent call last): File "test.py", line 20, in main a = b UnboundLocalError: local variable 'b 方法三:采用sys模块回溯最后的异常 try : a = b b = c except : info = sys . exc_info ( ) print info print info [ 0 ] print info [ 1 ] '' '输出: (<type ' exceptions . UnboundLocalError '>,

Python redis模块详解

非 Y 不嫁゛ 提交于 2019-12-05 12:13:32
在使用 Redis、Codis 时,我们经常需要做一些批量操作,通过连接数据库批量对 key 进行操作: 常见的场景:   1.批量扫描key   2.获取info信息   3.获取client信息   4.设置配置参数   5.redis定期扫描 批量初始化redis 客户端: 1 from redis import Redis 2 def setExpiredKeys(): 3 try: 4 if redis_pass == 'none': 5 redisclient = Redis(host=redis_host, port=redis_port,db=0) 6 else: 7 redisclient = Redis(host=redis_host, port=redis_port, password=redis_pass) 8 # 初始化 redis 客户端:redisclient 9 # info = redisclient.info() 10 11 except Exception as e: 12 raise e 13 if __name__ == '__main__': 14 redis_host = '39.106.9.99' 15 redis_port = 6001 16 redis_pass = '123456' 17 setExpiredKeys() 详解:

ATM+购物车

强颜欢笑 提交于 2019-12-05 12:06:30
ATM+购物车 conf 存放配置文件的文件夹 __ init __.py settings.py import os BASE_PATH = os.path.dirname(os.path.dirname(__file__)) DB_PATH = os.path.join(BASE_PATH, 'db') ''' 日志配置 ''' # 定义三种日志输出格式 开始 standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \ '[%(levelname)s][%(message)s]' # 其中name为getlogger指定的名字 simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s' id_simple_format = '[%(levelname)s][%(asctime)s] %(message)s' # 定义日志输出格式 结束 logfile_dir = os.path.join(BASE_PATH, 'log') # log文件的目录 logfile_name = 'atm_shop_log.log' #

13.设计模式之十一:享元模式【结构型模式】

百般思念 提交于 2019-12-05 12:02:11
在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它们相同的部分提取出来共享,则能节省大量的系统资源,这就是享元模式的产生背景。 定义与特点 享元(Flyweight)模式的定义:运用共享技术来有効地支持大量细粒度对象的复用。它通过共享已经存在的又橡来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。 享元模式的主要优点是:相同对象只要保存一份,这降低了系统中对象的数量,从而降低了系统中细粒度对象给内存带来的压力。 其主要缺点是: 为了使对象可以共享,需要将一些不能共享的状态外部化,这将增加程序的复杂性。 读取享元模式的外部状态会使得运行时间稍微变长。 结构与实现 享元模式中存在以下两种状态: 内部状态,即不会随着环境的改变而改变的可共享部分; 外部状态,指随环境改变而改变的不可以共享的部分。享元模式的实现要领就是区分应用中的这两种状态,并将外部状态外部化。下面来分析其基本结构和实现方法。 模式的结构 享元模式的主要角色有如下。 抽象享元角色(Flyweight):是所有的具体享元类的基类,为具体享元规范需要实现的公共接口

flask框架之日志的配置

↘锁芯ラ 提交于 2019-12-05 11:37:51
1. 项目中,日志和配置文件都是单独在一个文件夹中,一般log文件夹和config文件夹,两个文件夹和manage.py在同一个目录下。 2. 配置日志前,先给flask装上script脚本扩展,Flask 1.1.1 版本 from flask.ext.script import Manager # 报错 no module named flask.ext 解决办法:from flask_script import Manager 网上说是新版flask推荐这种方式导入扩展包 # 继续报错:no module named flask_script 解决办法:pip install flask_script # 继续报错: ModuleNotFoundError: No module named 'setuptools' ---------------------------------------- ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. # 分析,原来是 没有安装 setuptools # 安装 setuptools pip install setuptools # pip install