python
wangyiyan212
这个作者很懒,什么都没留下…
展开
-
ceph-volume源码分析(五)
ceph-volume inventory原创 2022-01-24 10:10:38 · 748 阅读 · 0 评论 -
Python打印当前函数调用栈的两种方法
在Python中,如果代码调用层次比较深,或者类比较多,需要查看当前函数调用情况,该怎么办呢?有以下两种常用方法:1. 使用pdb导入pdb模块在代码里需要调试的地方放一个pdb.set_trace(),就可以设置一个断点程序会在pdb.set_trace()暂停并进入pdb调试环境 进入pdb环境后,输入w即可查看当前堆栈2. 使用traceback导入traceback模块在代码里需要调试的地方放一个traceback.print_stack()...原创 2022-01-24 08:54:26 · 13874 阅读 · 0 评论 -
ceph-volume源码分析(四)
上一篇文章讲到self.mian最后调用terminal.dispatch(self.mapper, subcommand_args),我们先看下该函数实现:def dispatch(mapper, argv=None): argv = argv or sys.argv for count, arg in enumerate(argv, 1): if arg in mapper.keys(): instance = mapper.get(arg)(a原创 2022-01-08 11:00:07 · 526 阅读 · 0 评论 -
ceph-volume源码分析(三)
上一篇文章我们找到了ceph-volume的函数入口,接下来我们先看下ceph_volume模块下main.py中的Volume,如下图所示:class Volume(object): _help = """ceph-volume: Deploy Ceph OSDs using different device technologies like lvm orphysical disks.Log Path: {log_path}Ceph Conf: {ceph_path}{sub_h原创 2022-01-06 08:35:16 · 1479 阅读 · 0 评论 -
ceph-volume源码分析(二)
第一篇文章对ceph-volume进行了一个基本介绍,从这篇文章开始,打算结合一些具体的操作分析代码流程和实现。 首先我们在cli查看ceph-volume命令,如下图所示:原创 2022-01-04 15:16:18 · 1509 阅读 · 0 评论 -
ceph-volume源码分析(一)
ceph-volume源码分析(一) 在接触ceph的过程中,用到了ceph-volume这个部署OSD的社区工具,就想着利用闲暇时间看下源码实现,一方面自己很久没有写过东西了,利用看源码的过程熟悉下python语言,同时学习下社区大佬的编程思路和风格。 废话不多说,先上官方介绍文档地址:[官方链接地址](https://docs.ceph.com/en/latest/man/8/ceph-volume/) 通过官方介绍文档我们可以看到ceph-volume是社区用来替代ceph-disk原创 2022-01-02 17:20:06 · 1097 阅读 · 0 评论 -
PyQT开发的简易有道词典
最近学习PyQt,写了一个比较简单的字典,使用了有道翻译OpenAPI,下面是代码:# -*- coding: utf-8 -*-__author__ = 'Cullen'import urllibimport jsonimport urllib2from PyQt4 import QtGui, QtCoreimport sysAPI_KEY = '13原创 2015-07-05 12:17:11 · 1532 阅读 · 0 评论 -
pyinstall打包python程序出现报错:jinja2.exceptions.TemplateNotFound: chart_component.html的解决办法
1. echo 命令注意事项三种常用用法(1) 不加引号原创 2021-07-16 17:10:50 · 1993 阅读 · 0 评论 -
sublime同时使用Python2和Python3
在实际工作和编码中,经常要在Python2和Python3进行切换,对于大部分初学者而言,sublime足够满足日常需要,设置方法如下(以已安装Python2为例):新建python的编译系统:sublime工具栏上,点击工具->编译系统->新编译系统复制粘贴以下代码粘贴,(C:/Python3/python3.exe)是我的安装目录{ "cmd": ["C:/...原创 2018-09-05 20:41:05 · 2694 阅读 · 0 评论 -
爬虫学习笔记一
Robots协议是什么?(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够原创 2017-03-01 14:42:44 · 1120 阅读 · 0 评论 -
Python yield 使用浅析
初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能。您可能听说过,带有 yield 的函数在转载 2013-11-05 09:44:52 · 866 阅读 · 0 评论 -
设置python 命令行交互程序自动补齐
1. 新建Python环境变量配置文件:vim ~/.pystartup# Add auto-completion and a stored history file of commands to your Python# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is#原创 2015-07-07 17:26:52 · 2066 阅读 · 0 评论 -
python的列表解析
列表解析表示你可以在一行中使用一个for循环将所有值放到一个列表当中。列表解析也能做更复杂的事情,比如挑选出符合要求的值放入列表。python列表解析属于python的迭代中的一种,相比python for循环速度会快很多。下面举例说明python列表解析是怎么工作的。example:a = [x+1 for x in range(1,11)]print a输出原创 2013-09-24 11:35:09 · 1489 阅读 · 0 评论 -
Python中的getattr()和__getattr__方法
在看python核心编程时,看到了getattr()内建函数和__getattr__,但不太理解,就仔细的看了下并查阅了一些资料,大致了解了它们是做什么的。getattr()先在python解释器看下getattr()的帮助:Help on built-in function getattr in module __builtin__:getattr(...) g原创 2013-11-06 17:13:36 · 19651 阅读 · 0 评论 -
vim中注释多行python代码
在vim中注释多行python代码比较麻烦,主要由以下几种方法:(1)将需要注释的代码以文档字符串的形式呈现(2)将需要注释的代码以函数的形式呈现(3)使用vim自身快捷键我们主要使用第三种方式,下面是注释和取消注释的方法。1.多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需原创 2015-07-07 16:39:33 · 5705 阅读 · 0 评论 -
Python 命令行参数和getopt模块详解
有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的)。在C语言里,main函数的原型为int main(int argc, char **argv),这里主要指linux平台, argc指的是命令行传入的参数个数(程序的name为第一个参数),而argv则是一个指针数原创 2014-03-16 14:31:06 · 3875 阅读 · 0 评论 -
Windows下安装python 包管理器pip
pip是一款非常方便的python包管理工具,本文主要介绍在windows 7下安装pip方法。1. 下载pip安装包地址:https://pypi.python.org/pypi/pip#download注意选择tar.gz包,目前最新版本: pip-7.1.2.tar.gz (md5, pgp) 2. 解压安装包,使用CMD进入解压目录,然后使用如下命令进行安装原创 2015-10-20 09:21:57 · 2231 阅读 · 0 评论 -
python实现的控制台进度条
相信很多人在写一些简单的python脚本的时候都希望能够在程序运行的过程中实现进度条的功能以便查看程序运行的速度或者进度。我之前一直想实现这样一个东西,也查看了许多博客但是都找不到一个完美的解决方案(当然,使用progressBar这个库是个选择,但很多时候我们需要一些定制功能的时候就需要考虑自己实现,其实也挺简单的,不想看废话的可以直接跳到最后)进度条最主要的问题就是所有字符全部在同一行...转载 2015-12-28 10:39:16 · 3067 阅读 · 0 评论 -
深入Python(Dive Into Python)第五章程序解析
在看Dive Info Python这本书,发现第五章的程序一下没看明白,就仔细的看了下,将自己的代码分析贴上来,不足之处请多多指教!下面是代码:"""Framework for getting filetype-specific metadata.Instantiate appropriate class with filename. Returned object acts原创 2013-12-10 16:17:52 · 1389 阅读 · 0 评论