首页 文章 精选 留言 我的

精选列表

搜索[加密工具],共10000篇文章
优秀的个人博客,低调大师

python3二维码生成工具

本人python学习菜鸟一枚,随着对python的学习,感觉python越来越好玩了,上次用接口查询IP地址后,又看到有道词典查询、二维码生成等接口相关的方法,并对其做了简单的尝试,确实是挺好玩的。所以将整个过程记录下来。分享在此,供大家一起交流学习。 方法一、调用NowAPI接口实现二维码 1、基本环境 系统:windows 7 开发环境:pycharm python3 相关的模块和库 urlib urllib.parse 2、NowAPI简单的介绍 NowAPI是一家数据服务公司,提供大量的数据接口,对于我们这种学习的菜鸟来说有很多东西可以用来实践,并且有一部分在某个范围内是免费的,对于我们刚接触开发实践是足够了。还有一些python2的示例程序,很不。 官网:https://www.nowapi.com/ 国内类似的公司: 聚合数据:https://www.juhe.cn/docs 百度数据接口:http://apistore.baidu.com/ 极速数据:https://www.jisuapi.com/ 都能提供很多的数据接口,提供免费和收费数据等合作方式。 3、NowAPI二维码接口介绍 1 2 3 4 5 6 7 8 9 10 11 在线生成二维码 注:APIURL可直接在htmlimg标签中使用,如data参数为中文请先urlencode( '中文' )请求示例:http: / / api.k780.com: 88 / ?app = qr.get&data = test&level = L&size = 6 注意:如果您的使用量巨大请联系网站客服备注referer。 请求方式 Get / Post 请求url HTTP:http: / / api.k780.com: 88 HTTPS:https: / / sapi.k780.com请求参数 参数类型是否必须备注 datastring是需要生成二维码内例如:test levelstring否纠错级别< 'L' , 'M' , 'Q' , 'H' >,默认:L sizenumber否大小< 1 - 20 >,默认: 6 4、思路 根据接口文档我们可以采用post提交,而post在python里面主要是带参数提交这里主要是用字典实现参数组合,而用urllib.parse模块的urlencode()方法实现参数和url的组合拼接。然后访问完整url,获取请求回应并写入文件即可。 5、源代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #/usr/bin/envpython #_*_coding:utf-8_*_ import json import urllib import requests import urllib.parse url = 'http://api.k780.com:88' def msgdata(send_msg): #定义一个简单的函数 msg = {} msg[ 'app' ] = "qr.get" msg[ 'data' ] = send_msg msg[ 'level' ] = 'L' msg[ "size" ] = 6 data = urllib.parse.urlencode(msg).encode( "utf-8" ) response = urllib.request.urlopen(url,data) result = response.read() with open (send_msg + "s.jpg" , "wb" )asf: f.write(result) list2 = [ "mysqlDBA" , "docker运维开发工程师" , "云计算巨头openstack" , "redis" , "Centos" , "mongodb" , "swarm" ] for i in list2: msgdata(i) 生成结果示例: 1、centos 2 、docker运维工程师 3、mongodb 4、mysqlDBA 5、redis6、swarms 7、云计算巨头openstack 总结和分析: 以上的二维码是可以用微信等扫一扫等功能扫描出结果。 方法二、依赖qrcode和image包生成二维码 依赖安装 1 2 3 4 pip install qrcode qrcode依赖Image这个包: pip install Image 附代码: 1 2 3 4 5 6 7 8 #!/bin/bash/envpython #-*-congding:utf8-*- import qrcode strlist=[ "http://www.baidu.com" , "MySQLDBA" , "Docker云计算" , "Openstack云计算" ] for index,item in enumerate(strlist): img=qrcode. make (item) with open ( "D:\pythontest\erweima\image" +str(index)+ ".png" , "wb" )asf: img.save(f) 本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1912017,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS: 音效和音乐的播放,封装的工具

在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度、循环等控制。后者指的是一些较长的音频,通常是主音频,对于这些音频的播放通常需要进行精确的控制。在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework来完成音效和音乐播放。 音效 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service)。System Sound Service是一种简单、底层的声音播放服务,但是它本身也存在着一些限制: 音频播放时间不能超过30s 数据必须是PCM或者IMA4格式 音频文件必须打包成.caf、.aif、.wav中的一种(注意这是官方文档的说法,实际测试发现一些.mp3也可以播放) 使用System Sound Service 播放音效的步骤如下: 调用AudioServicesCreateSystemSoundID( CFURLRef inFileURL, SystemSoundID* outSystemSoundID)函数获得系统声音ID。 如果需要监听播放完成操作,则使用AudioServicesAddSystemSoundCompletion( SystemSoundID inSystemSoundID, CFRunLoopRef inRunLoop, CFStringRef inRunLoopMode, AudioServicesSystemSoundCompletionProc inCompletionRoutine, void* inClientData)方法注册回调函数。 调用AudioServicesPlaySystemSound(SystemSoundID inSystemSoundID)或者AudioServicesPlayAlertSound(SystemSoundID inSystemSoundID)方法播放音效(后者带有震动效果)。 音乐 如果播放较大的音频或者要对音频有精确的控制则System Sound Service可能就很难满足实际需求了,通常这种情况会选择使用AVFoundation.framework中的AVAudioPlayer来实现。AVAudioPlayer可以看成一个播放器,它支持多种音频格式,而且能够进行进度、音量、播放速度等控制。首先简单看一下AVAudioPlayer常用的属性和方法: 属性 说明 @property(readonly, getter=isPlaying) BOOL playing 是否正在播放,只读 @property(readonly) NSUInteger numberOfChannels 音频声道数,只读 @property(readonly) NSTimeInterval duration 音频时长 @property(readonly) NSURL *url 音频文件路径,只读 @property(readonly) NSData *data 音频数据,只读 @property float pan 立体声平衡,如果为-1.0则完全左声道,如果0.0则左右声道平衡,如果为1.0则完全为右声道 @property float volume 音量大小,范围0-1.0 @property BOOL enableRate 是否允许改变播放速率 @property float rate 播放速率,范围0.5-2.0,如果为1.0则正常播放,如果要修改播放速率则必须设置enableRate为YES @property NSTimeInterval currentTime 当前播放时长 @property(readonly) NSTimeInterval deviceCurrentTime 输出设备播放音频的时间,注意如果播放中被暂停此时间也会继续累加 @property NSInteger numberOfLoops 循环播放次数,如果为0则不循环,如果小于0则无限循环,大于0则表示循环次数 @property(readonly) NSDictionary *settings 音频播放设置信息,只读 @property(getter=isMeteringEnabled) BOOL meteringEnabled 是否启用音频测量,默认为NO,一旦启用音频测量可以通过updateMeters方法更新测量值 对象方法 说明 - (instancetype)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError 使用文件URL初始化播放器,注意这个URL不能是HTTP URL,AVAudioPlayer不支持加载网络媒体流,只能播放本地文件 - (instancetype)initWithData:(NSData *)data error:(NSError **)outError 使用NSData初始化播放器,注意使用此方法时必须文件格式和文件后缀一致,否则出错,所以相比此方法更推荐使用上述方法或- (instancetype)initWithData:(NSData *)data fileTypeHint:(NSString *)utiString error:(NSError **)outError方法进行初始化 - (BOOL)prepareToPlay; 加载音频文件到缓冲区,注意即使在播放之前音频文件没有加载到缓冲区程序也会隐式调用此方法。 - (BOOL)play; 播放音频文件 - (BOOL)playAtTime:(NSTimeInterval)time 在指定的时间开始播放音频 - (void)pause; 暂停播放 - (void)stop; 停止播放 - (void)updateMeters 更新音频测量值,注意如果要更新音频测量值必须设置meteringEnabled为YES,通过音频测量值可以即时获得音频分贝等信息 - (float)peakPowerForChannel:(NSUInteger)channelNumber; 获得指定声道的分贝峰值,注意如果要获得分贝峰值必须在此之前调用updateMeters方法 - (float)averagePowerForChannel:(NSUInteger)channelNumber 获得指定声道的分贝平均值,注意如果要获得分贝平均值必须在此之前调用updateMeters方法 @property(nonatomic, copy) NSArray *channelAssignments 获得或设置播放声道 代理方法 说明 - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag 音频播放完成 - (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error 音频解码发生错误 音频会话 事实上上面的播放器还存在一些问题,例如通常我们看到的播放器即使退出到后台也是可以播放的,而这个播放器如果退出到后台它会自动暂停。如果要支持后台播放需要做下面几件事情: 事实上上面的播放器还存在一些问题,例如通常我们看到的播放器即使退出到后台也是可以播放的,而这个播放器如果退出到后台它会自动暂停。如果要支持后台播放需要做下面几件事情: 1.设置后台运行模式:在plist文件中添加Required background modes,并且设置item 0=App plays audio or streams audio/video using AirPlay(其实可以直接通过Xcode在Project Targets-Capabilities-Background Modes中设置) 2.设置AVAudioSession的类型为AVAudioSessionCategoryPlayback并且调用setActive::方法启动会话。 AVAudioSession *audioSession=[AVAudioSession sharedInstance]; [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil]; [audioSession setActive:YES error:nil]; 3.为了能够让应用退到后台之后支持耳机控制,建议添加远程控制事件(这一步不是后台播放必须的) 前两步是后台播放所必须设置的,第三步主要用于接收远程事件,这部分内容之前的文章中有详细介绍,如果这一步不设置虽让也能够在后台播放,但是无法获得音频控制权(如果在使用当前应用之前使用其他播放器播放音乐的话,此时如果按耳机播放键或者控制中心的播放按钮则会播放前一个应用的音频),并且不能使用耳机进行音频控制。第一步操作相信大家都很容易理解,如果应用程序要允许运行到后台必须设置,正常情况下应用如果进入后台会被挂起,通过该设置可以上应用程序继续在后台运行。但是第二步使用的AVAudioSession有必要进行一下详细的说明。 在iOS中每个应用都有一个音频会话,这个会话就通过AVAudioSession来表示。AVAudioSession同样存在于AVFoundation框架中,它是单例模式设计,通过sharedInstance进行访问。在使用Apple设备时大家会发现有些应用只要打开其他音频播放就会终止,而有些应用却可以和其他应用同时播放,在多种音频环境中如何去控制播放的方式就是通过音频会话来完成的。下面是音频会话的几种会话模式: 会话类型 说明 是否要求输入 是否要求输出 是否遵从静音键 AVAudioSessionCategoryAmbient 混音播放,可以与其他音频应用同时播放 否 是 是 AVAudioSessionCategorySoloAmbient 独占播放 否 是 是 AVAudioSessionCategoryPlayback 后台播放,也是独占的 否 是 否 AVAudioSessionCategoryRecord 录音模式,用于录音时使用 是 否 否 AVAudioSessionCategoryPlayAndRecord 播放和录音,此时可以录音也可以播放 是 是 否 AVAudioSessionCategoryAudioProcessing 硬件解码音频,此时不能播放和录制 否 否 否 AVAudioSessionCategoryMultiRoute 多种输入输出,例如可以耳机、USB设备同时播放 是 是 否 注意:是否遵循静音键表示在播放过程中如果用户通过硬件设置为静音是否能关闭声音。 好了,基本的特点和属性已经介绍的差不多了,为此,我写了一个框架,专门用来播放音视频文件,地址如下: github:https://github.com/xiayuanquan/XYQPlayer cnblogs:http://www.cnblogs.com/XYQ-208910/p/6685412.html 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5662655.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

WinForm自动化测试工具开发札记(4)

架构复用 这两天使用Win32 API参考对软件能用到的功能进行了一些小的尝试. 基本上没有什么太大的困难,只要努力,都能克服. 如果让这些功能散落在程序中,那么这个程序肯定写不出来.下面一段时间就开始设计类库了.使用接口/Abs类/类,把这些功能组织起来.昨天晚上在纸上大概画了画,画着画着才发现--咦,这不是跟.NET Framework的组织架构一样吗?呵呵,中微软的毒太深啦... 不过话又说回来,好的架构就应该复用. 又一个问题:是复用.NET Framework的架构,还是MFC的架构呢? 答案是:两者的"杂交品种". 1. .NET Framework的类种类丰富,适合测试WinForm上的各种控件. 2. 因为是在进行测试,所以.NET Framework的类中的"事件"成员的用处就不大了,去掉.这与MFC是一致的. 3. 正统的OO思想中本来也没有"事件"这个概念,微软自己加进去的.大概是沿袭了VB6的思想. 4. "属性"成员如果能去掉,也会去掉.降低程序的编写难度(其实也降低不了多少,搞不好程序不安全). 5. 正统的OO思想中也没有"属性"这个成员,也是微软自己加进去的.大概...(靠,哪儿来的拖鞋?) 6. 类与类(包括接口)间的继承关系,采用.NET Framework的,因为这个架构比MFC的更清晰. 本文转自 水之真谛 51CTO博客,原文链接:http://blog.51cto.com/liutiemeng/18758,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册