Python
文章平均质量分 76
AoboSir
这个作者很懒,什么都没留下…
展开
-
Learning Python 008 正则表达式-007 匹配的字符串模板中如果只有前面有字符串,而后面没有字符串时,这个匹配模板要怎 么写
原博文链接在我的官方网站,网址是:http://www.aobosir.com/blog/2017/02/21/python-regular-expression-match-string-no-string-in-behind/开发环境Python第三方库:lxml、Twisted、pywin32、scrapyPython 版本:python-3.5.0-amd64PyCharm软件版本:p原创 2017-03-12 16:22:42 · 1675 阅读 · 0 评论 -
Learning Python 019 生成器(Generators)和 yield
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0知识点:生成器生成器只能用于迭代操作。 一个函数,其中带 yield 关键字的代码,它不会执行,只是记下有这个操作;其他代码正常的执行。而被记下的这些操作会像队列一样存起来,这个“队列”就是 生成器,并且会类似于原创 2016-11-30 23:19:58 · 9533 阅读 · 0 评论 -
Learning Python 013 按行读取文件(逐行读取) --- 按行写入文件(逐行写入) --- 实战:从字幕文件中提取字幕内容
使用的开发集成环境:PyCharm 2016.1.4 使用的Python的版本:python 2.7.10知识点:Python 按行读取文件读取整个文件的内容f = open('filename.txt', 'r')text = f.read()f.close()print text读取一行的内容(按行读文件的内容)参考网站:Python逐行读取文件内容 http://www.cnblogs原创 2016-11-18 04:46:44 · 14937 阅读 · 0 评论 -
Learning Python 018 Python2 和 Python3 中 range()函数的使用
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0range() 函数Python2中:用来创建一个列表(list)。Python3中:用来创建一个可以生成list或者tuple的生成器。Python2 range()函数 知识点Python2 中的range(原创 2016-11-30 13:53:48 · 10266 阅读 · 0 评论 -
Learning Python 017 — Python2 和 Python3 的内存释放
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0学习Python的内存释放知识点的动机之前我学过很多Python的程序,偶然的一次,我打开任务管理器,看到我写的程序,运行时占用了大量的内存,所以,我希望学会如何释放内存,来优化我的程序,也不给电脑照成太大的负担,所以原创 2016-11-30 13:51:46 · 14186 阅读 · 0 评论 -
Learning Python 016 写文件时,将其用指定的编码方式保存(比如:UTF-8无BOM编码方式)
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 3.5.0学习这个知识点的原因举一个实例:Octopress站点路径里面博文文件(.markdown后缀文件)必须要是以UTF-8无BOM编码方式编码的文件,否则执行rake generate命令会出现下面这个错误:Error reading file F:/原创 2016-11-29 20:19:53 · 11779 阅读 · 0 评论 -
Learning Python 015 Python3解决问题:读取文件时,出现乱码或者“UnicodeDecodeError 'gbk' codec can't decode” 错误
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 3.5.0出现的错误读取文件时,出现乱码或者UnicodeDecodeError: 'gbk' codec can't decode byte 0xXX in position XX: incomplete multibyte sequence 错误出现错误的原创 2016-11-29 19:31:08 · 15016 阅读 · 0 评论 -
ROS Learning-022 learning_tf-06(编程) 现在与过去中穿梭 (Python版) --- waitForTransformFull() 函数
ROS Indigo learning_tf-06 现在与过去中穿梭 (Python版) — waitForTransformFull() 函数我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 一 . 前言这一节要做的事情:使用 tf 的一个强大功能:可以再现在与过去中穿梭。(就是:原创 2016-09-08 19:01:09 · 15452 阅读 · 2 评论 -
ROS Learning-021 learning_tf-05(编程) now() 和 Time(0) 的区别 (Python版)
ROS Indigo learning_tf-05 now() 和 Time(0)的区别 (Python版) — waitForTransform() 函数我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 一. 前言这一节要做的事情:使用 tf 的一个强大功能:可以再现在与过去中穿梭原创 2016-09-08 17:07:51 · 16766 阅读 · 0 评论 -
Python 黑客 004 用Python构建一个SSH僵尸网络 01 简介
用Python构建一个SSH僵尸网络 01 简介一. 构建一个SSH僵尸网络的流程图:Created with Raphaël 2.1.0手动操作,实现通过SSH连接目标服务器(手动)用 Pexpect 与 SSH 交互(自动)用 Pxssh 暴力破解 SSH 密码利用 SSH 中的弱私钥构建 SSH 僵尸网络二. 详细步骤第零步: 准备工作。手动操作,实现通过SSH连接目标服务器(手动) 构建原创 2016-09-08 00:19:00 · 15352 阅读 · 0 评论 -
ROS Learning-020 learning_tf-04(编程)让turtle2 海龟跟随turtle1海龟,并绕着 turtle1海龟转圈 (Python版)
ROS Indigo learning_tf-04 (编程)让 turtle2 海龟跟随 turtle1 海龟,并绕着 turtle1 海龟转圈 (Python版)我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 这格博客是在上一个博客(添加额外的坐标系)的基础上进行的。现在,我们想原创 2016-09-07 21:53:18 · 16858 阅读 · 2 评论 -
ROS Learning-019 learning_tf-03(编程) 添加额外的坐标系 (Python版)
ROS Indigo learning_tf-03 添加额外的坐标系 (Python版)我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 前言这一节要做的事情:添加额外的坐标系。为什么要添加额外的坐标系:对于许多任务很容易想到内嵌一个局部的坐标系。例如,将激光扫描仪的中心作为坐标系原点原创 2016-09-07 19:05:05 · 15687 阅读 · 0 评论 -
Python 网络爬虫 010 (高级功能) 解析 robots.txt 文件
解析 robots.txt 文件使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 2016 04 我使用的 urllib 的版本:urllib2注意: 我没这里使用的是 Python2 ,而不是Python3一 . 前言之前,我在网络爬虫科普的时候,介绍过robots.txt 文件,如果你原创 2016-09-19 15:19:04 · 22990 阅读 · 0 评论 -
Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 2016 04 我使用的 urllib 的版本:urllib2注意: 我没这里使用的是 Python2 ,而不是Python3一 . 前言通过之前两节(原创 2016-09-19 14:48:48 · 26342 阅读 · 0 评论 -
ROS Learning-015 learning_tf(编程) 编写一个监听器程序 (Python版)
ROS Indigo learning_tf-02 编写一个 监听器 程序 (Python版)我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 1. 这一节要做的事情:上一节我们已经编写了一个广播员的程序,下面我们编写一个监听器程序来监听广播员发布的小海龟的坐标系信息:监听器程序:利用原创 2016-09-06 14:10:19 · 16605 阅读 · 0 评论 -
ROS Learning-014 learning_tf(编程) 坐标系变换(tf)广播员 (Python版)
ROS Indigo learning_tf-01 坐标系变换(tf)广播员 (Python版)我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 1. 什么是 tf :tf : 坐标系变换。想要确定一个物体在什么位置,最好的方法是找一个坐标系,我们就可以得到这个物体的坐标,所以就确定原创 2016-09-06 12:56:55 · 17688 阅读 · 4 评论 -
Learning Python 020 pass 的用法
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0pass 的用法参考网站:Python pass 语句 Python2 和 Python3 中 pass 的用法都是一样的。pass 就是一个空语句,没有任何实际意义,作用是保存程序结构的完整性。因为Python原创 2016-12-01 04:14:35 · 9443 阅读 · 0 评论 -
Learning Python 008 正则表达式-004 sub()方法
Python 正则表达式 — sub()方法sub()方法sub()方法:替换符合规律的内容,返回替换的值# -?- coding: utf-8 -?-import resecret_code = 'wwwfhskdjwww'secret_code_new = re.sub('www(.*?)www', 'www.aobosir.www', secret_code )print(secret_c原创 2016-07-17 00:00:42 · 17488 阅读 · 0 评论 -
Python 网络爬虫 006 (编程) 解决下载(或叫:爬取)到的网页乱码问题
解决下载(或叫:爬取)到的网页乱码问题使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 2016 04 我使用的 urllib 的版本:urllib2注意: 我没这里使用的是 Python2 ,而不是Python3上一节,我介绍了如何下载网页。这样节我们来讲:如果我们下载一个带有中文的网站原创 2016-09-13 20:57:02 · 26049 阅读 · 2 评论 -
解决问题: pywin32 安装后出现 import win32api ImportError DLL load failed
执行 scrapy bench 命令时 出现错误。(之前安装了pywin32库)Traceback (most recent call last): File "c:\users\aobo\appdata\local\programs\python\python35\lib\site-packages\twisted\internet\defer.py", line 1260, in _inli原创 2016-11-26 07:07:39 · 29685 阅读 · 2 评论 -
Python3 解决编码问题: UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position
原博文链接:http://www.aobosir.com/blog/2016/12/08/python3-UnicodeEncodeError-gbk-codec-can’t-encode-character-xa9/开发环境Python第三方库:lxml、Twisted、pywin32、scrapyPython 版本:python-3.5.0-amd64PyCharm软件版本:pycharm原创 2016-12-08 06:50:49 · 29796 阅读 · 2 评论 -
Learning Python 008 正则表达式-005 compile模板的使用
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0compile()函数的用法import restr = 'fdfgdrthxxi--gdfgexxlove--dsdfwesdxxyou--dfgdf'pattam_str = 'xx(.*?)--'resul原创 2016-12-08 07:06:59 · 9596 阅读 · 0 评论 -
Learning Python 014 使用 pip 工具的注意事项 --- 混淆的python2 和 python3
Q : 如果你的电脑之前安装了Python2,那么Python2 有自己的pip工具,Python3 也是有自己的pip工具,所以,如果你在DOS命令行上执行pip install some-package-name命令的时候,系统会使用哪个pip工具呢?是python2的pip,还是python3的pip?A : 如果你先安装的是python2,后安装的python3,那么系统默认使用pyth原创 2016-11-23 00:22:14 · 9756 阅读 · 0 评论 -
Learning Python 028 获取命令行参数
原博文链接:http://www.aobosir.com/blog/2016/12/02/python-get-command-line-arguments/使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python2.7.10 或者 python 3.5.0 本博文对Python2和Python3都适用。impo原创 2016-12-02 02:12:03 · 9560 阅读 · 0 评论 -
Learning Python 026 字符串连接
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python2.7.10 或者 python 3.5.0 本博文对Python2和Python3都适用。参考网站:Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)# -!- coding: utf-8 -!-pat原创 2016-12-01 19:12:01 · 9367 阅读 · 0 评论 -
Learning Python 027 解决错误:SyntaxError: Non-UTF-8 Code Starting With '\xc8' in File xxxx.py
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python2.7.10 或者 python 3.5.0 本博文对Python2和Python3都适用。出现这个错误,是因为xxxx.py 文件里面有中文字符。解决办法:在文件第一行,加上下面的代码:# -!- coding: utf-8 -!-原创 2016-12-01 19:09:30 · 17673 阅读 · 4 评论 -
Learning Python 025 字符串分割
原博客地址:http://www.aobosir.com/blog/2016/12/01/python-string-split/使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python2.7.10 或者 python 3.5.0 本博文对Python2和Python3都适用。参考网站:Python split(原创 2016-12-01 17:14:53 · 9535 阅读 · 0 评论 -
Learning Python 024 判断文件和文件夹是否存在
原博文链接:http://www.aobosir.com/blog/2016/12/01/determine-whether-files-and-folders-exist/使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python2.7.10 或者 python 3.5.0判断文件import osa = os.原创 2016-12-01 08:50:35 · 9383 阅读 · 0 评论 -
Learning Python 023 类编程
原博文链接:http://www.aobosir.com/blog/2016/12/01/class-programming-object/使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 3.5.0怎么使用python编写一个 类参考网站:Python3-cookbook 类与对象随便编写一个Python原创 2016-12-01 08:08:18 · 9476 阅读 · 0 评论 -
Learning Python 022 调用DOS命令 --- 实例:调用Windows里面的copy命令
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0 本篇博客对 Python2 和 Python3 都适用。实例:调用Windows里面的copy命令比如现在,我想把这个路径F:\原文件夹里面的所有文件复制到这个路径F:\目标文件夹里面。可以在DOS命令行窗口里面执原创 2016-12-01 06:04:52 · 11852 阅读 · 0 评论 -
Learning Python 021 创建文件夹、创建文件
使用的电脑系统:Windows 10 64位使用的开发集成环境:PyCharm 2016.1.4使用的Python的版本:python 2.7.10 和 python 3.5.0 本篇博客对 Python2 和 Python3 都适用。Python 创建文件夹参考网站:Python创建目录文件夹python学习笔记(七)——文件和目录操作# -*- coding: utf-8 -*-i原创 2016-12-01 05:59:49 · 14937 阅读 · 0 评论 -
Python 解决 :NameError: name 'reload' is not defined 问题
Python 解决 :NameError: name 'reload' is not defined 问题解决:NameError: name 'reload' is not defined 问题对于 Python 2.X:import sysreload(sys)sys.setdefaultencoding("utf-8")对于 <= Python 3.3:import impimp.rel原创 2016-08-14 22:20:28 · 150006 阅读 · 10 评论 -
ROS Learning-013 beginner_Tutorials (编程) 编写ROS服务版的Hello World程序(Python版)
ROS Indigo beginner_Tutorials-12 编写ROS服务版的Hello World程序(Python版)我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 前言:在编写 ROS 话题版的 Hello World 程序(python版) 这一节中,发布器(talke原创 2016-09-05 19:46:11 · 15071 阅读 · 0 评论 -
ROS Learning-012 beginner_Tutorials (编程) 创建自定义的ROS消息和ROS服务
ROS Indigo beginner_Tutorials-11 创建自定义的ROS消息和ROS服务我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS Indigo 一. 创建自定义的ROS消息 :(msg)下面我们来介绍具体步骤:1:现在beginner_tutorials软件包中创建一个 msg原创 2016-09-05 19:24:53 · 15830 阅读 · 1 评论 -
Learning Python 011 高级特性 1
Python 高级特性 1切片将L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']列表中前上个3个元素:L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']r = []n = 3for i in range(n): r.append(L[i])print(r)运行:['Michael', 'Sara原创 2016-07-21 01:11:08 · 16068 阅读 · 0 评论 -
Learning Python 010 函数 2
Python 函数 2函数的参数位置参数(普通,正常的参数)随便编写一个求x^n的值的函数power(x, n):def power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s我们调用这个函数,需要传入两个参数,这个两个参数也叫做位置参数:>>> power(5, 2)25如果原创 2016-07-20 22:48:35 · 16644 阅读 · 0 评论 -
Learning Python 010 函数 1
Python 函数 1调用函数举个例子多于Python内部的函数,你可以在Python的交互式终端中使用help()函数来查看函数的使用方法。比如:abs()函数,如果你不知道如何使用它,你可以在Python的交互式终端中输入:>>> help(abs)你会看到下面的输出信息:Help on built-in function abs in module builtins:abs(x, /)原创 2016-07-20 05:09:32 · 16403 阅读 · 0 评论 -
Learning Python 009 dict(字典)和 set
Python dict(字典)和 setdict (字典)是什么东西dict全称dictionary。为什么这个数据结构取名叫dict。因为dict的实现原理和查字典是一样的。dict使用了键-值(key-value)存储的方式。就好比在字典里查某个字一样。dict数据结构中的键(key)就好比字典中的索引表里这个字对应的页码。值(value)就好比字典中这个字的内容。这样的特点,效果就是查找速度极原创 2016-07-20 02:28:20 · 16211 阅读 · 0 评论 -
Learning Python 008 正则表达式-003 search()方法
Python 正则表达式 — search()方法search()函数的使用# -?- coding: utf-8 -?-import resecret_code = 'dsdxx1xxdsdfxx2xxdfsdxx3xxdlrelxx4xxeuwuxx5xxnjkjh'b = re.search('xx(.*?)xxdsdfxx(.*?)xx', secret_code )print(b)运原创 2016-07-16 23:46:05 · 15610 阅读 · 0 评论 -
Learning Python 008 正则表达式-002 findall()方法
Python 正则表达式 findall()方法重点 findall()方法的使用 — 程序讲解简单的符号的使用正则表达式的库文件是re,先导入库文件:import re.的使用举例# -?- coding: utf-8 -?-import rea = 'abca123'b = re.findall('a.', a)print(b)输出['ab', 'a1'].是一个占位符,我们将程序改成原创 2016-07-16 22:52:29 · 16321 阅读 · 0 评论