如何利用Python打造出适合自己的定制化Eclipse IDE

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用Python打造出适合自己的定制化Eclipse IDE相关的知识,希望对你有一定的参考价值。

1 文件在哪

现在网上的安装方法基本都是通过配置安装源安装,那么安装后的openstack工程的程序文件在哪呢?以nova为例:

这个目录下的结构是不是十分熟悉,对,基本跟在eclipse下浏览工程的结构一模一样,这就是安装openstack后源代码路径。再看下面的目录:

这里就是nova工程经过编译后的文件,其中的py文件是上面那个目录中对应文件的链接而已。

2 动手修改python文件

知道了源文件和编译文件的位置,那么我们就能很容易的修改程序以满足我们自己的要求。以修改nova操作权限判断流程为例。nova创建虚拟机时,会调用nova/compute/api.py中API类的_check_create_policies方法根据policy.json文件内容进行操作权限的判断,而该方法最终会调用nova/policy.py中的enforce方法:

如果我们想知道程序运行到此时,context中到底有什么内容,那么我们可以修改文件如下,注意对比上面代码新增的4行:

需要注意是:要在文件的开头处将logging引入,同时,定义:

LOG = logging.getLogger(__name__)

我们打印两行*号以便快速定位日志,同时将context内容打印出来,并显式的抛出一个异常让本次处理停止。
参考技术A  现在网上的安装方法基本都是通过配置安装源安装,那么安装后的openstack工程的程序文件在哪呢?以nova为例:

  这个目录下的结构是不是十分熟悉,对,基本跟在eclipse下浏览工程的结构一模一样,这就是安装openstack后源代码路径。再看下面的目录:
  这里就是nova工程经过编译后的文件,其中的py文件是上面那个目录中对应文件的链接而已。
动手修改python文件
  知道了源文件和编译文件的位置,那么我们就能很容易的修改程序以满足我们自己的要求。以修改nova操作权限判断流程为例。nova创建虚拟机时,会调用nova/compute/api.py中API类的_check_create_policies方法根据policy.json文件内容进行操作权限的判断,而该方法最终会调用nova/policy.py中的enforce方法:
  如果我们想知道程序运行到此时,context中到底有什么内容,那么我们可以修改文件如下,注意对比上面代码新增的4行:
  需要注意是:要在文件的开头处将logging引入,同时,定义:
  LOG = logging.getLogger(__name__)
  我们打印两行*号以便快速定位日志,同时将context内容打印出来,并显式的抛出一个异常让本次处理停止。

非常适合新手的一个Python爬虫项目: 打造一个英文词汇量测试脚本!

最近朋友在苦学英文,但是又不知道自己学的怎么样了,直到有一天,他找到了扇贝网,里面有个“评估你的单词量”功能非常的好,就推荐给我了!

技术分享图片
 

今天我们就用python做一个小的爬虫,然后自己写一个脚本来实现这个功能吧!

目标:打造一个英文词汇量测试脚本

url:扇贝网

工具:python3.6、pycharm、requests库

思路:

和网页一样,总共分三步:

技术分享图片
 

先来看看网页中数据,用F12开发者工具抓包就可以

为了更好的演示,这里网页缩小了。

技术分享图片
 

点击开始,在来看看出现了什么

技术分享图片
 

这里我们抓到了一个包,这个json数据中包含了所有的类别或者说是级别,一共十大类,我们点击”响应”验证下

技术分享图片
 可以看到,显示内容在我们抓到的json数据中,但是0和1中的内容有的一样,有的不一样是什么鬼?不要急,我们先选择‘高考’,在抓下包看看
技术分享图片
 选择高考后,网页直接给出了第二步,50个单词选择,注意,先看下抓到的json数据的真实地址
技术分享图片
 还记得我们在第一步抓到的包吗?0里面就是这个真实地址最后的category的值,1里面是对应的显示在网页中的内容,好了,第二步的真实url也被我们找到规律了,那下来就是分析单词了,看看有什么规律,我们点开一个看看
技术分享图片
 有几个值非常重要,也是我们的目标:

Content的值是显示的单词

Definition_choices是需要我们判断的多个词义,中间包含有正确的词义,每个词义中的rank值应该是该词义的标识

rank值是正确的词义,也由此判断上述多个词义中的正确词义

ok,到这里我们就可以开始写代码了,具体过程就不一一说明了,没有反爬,全部是json数据的读取和判断,先放上我的代码和运行效果

技术分享图片
 python学习交流群542110741

请大家忽略我那渣渣的英语水平和排版

技术分享图片
 

由于这个网站非常简单,仅仅抓包就可以得到所有数据,没有任何反爬,所以,也是我们新手练手的好地方,大家都可以试试,如果有作出更漂亮的脚本,欢迎大家在评论区一起分享!











以上是关于如何利用Python打造出适合自己的定制化Eclipse IDE的主要内容,如果未能解决你的问题,请参考以下文章

基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台

基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台

李晓慧:如何利用MongoDB打造爆款小程序

打造适合日常使用的ubantu,以ubuntu16.04.1为例

MWC上海| 用IT思维加速转型 中兴通讯Carrier DevOps打造定制化网络切片

头像总撞脸,如何定制化头像?几行Python代码实现人像动漫化