Python基础编程
文章平均质量分 68
铁猴
热爱Java,热爱大数据,热爱技术!
展开
-
理清 python 编码相关问题(转载)
这两天在纠结一份代码, 彻底解决后把之前遇到的相关问题整理一份出来,一来自己理清思路,一来在网上有什么错误也会被提前发现。1. 源代码级别REF: PEP 0263 -- Defining Python Source Code Encodings Python will default to ASCII as standard encoding if no other en转载 2012-10-28 22:49:58 · 1439 阅读 · 0 评论 -
让大蛇(Python)帮你找工作
最近有想换工作的想法,于是习惯性的去了XXX网站看有没有合适的职位,输入几个条件后,便开始了对海量的数据进行一页一页的浏览,不知不觉也就走了神........作为程序员怎么可以这样找工作了?于是想写个程序来做这个无聊而重复的赛选工作,最近在研究Python,真好又从书上看到了有个叫"网络爬虫"的概念,本来以为这是个复杂的技术,没想到区区几行几代便揭开了这只"爬虫"的面纱,于是针对这个网站试着写原创 2013-07-24 00:42:48 · 4633 阅读 · 12 评论 -
Python 3.X 中定时器(Timer)的使用
前段时间用Python实现了一个网络爬虫(让大蛇(Python)帮你找工作),效率总体还可以,但是缺点就是每次都需要手动的去触发,于是打算对该爬虫加上Timer,经过网上一番搜索以及API的查询,发现Python自身的API在这方面没有很好支持.在这种情况下要使用Timer功能,除了第三方的模块外,可以通过使用标准库为我们提供的sched模块和Timer类。这两个类也只能算是用来现实Tim原创 2013-07-31 23:46:28 · 15097 阅读 · 1 评论 -
Python中zip()函数用法举例
定义:zip([iterable, ...])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压),看下面的例子就明白了:>>> a = [1,2,3转载 2014-03-05 15:52:30 · 20715 阅读 · 0 评论 -
利用Pycharm对python代码进行远程调试
一.介绍使用Python的过程中经常需要对代码进行跟踪调试,PDB虽然也可以,但是Pycharm显得更加的人性化,下文简单的描述使用pycharm进行远程debug的简单步骤详细描述请参见:http://www.jetbrains.com/pycharm/webhelp/remote-debugging.html关于PDB的使用方法可参见:http://www.ibm.com/deve原创 2014-03-05 13:03:08 · 8143 阅读 · 0 评论 -
Core Python:Python中继承特性的简述
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承 机制。继承完全可以理解成类之间的 类型和子类型 关系,比如说鸟可以看成是麻雀的父类,鸟可以飞,因为麻雀是鸟的子类,自然就继承了鸟会飞的特性也可以飞。面向对象的语言有Java,C++等,但是他们有些都是单继承,即一个子类只能有一个明确的父类(接口定义除外),如果不考虑间接继承的话,用java的角度来看待“动物,鸟原创 2014-03-06 15:33:27 · 1569 阅读 · 0 评论 -
Core Python:Python中的针对函数处理的特殊方法
很多语言都提供了对参数或变量进行处理的机制,作为灵活的Python,提供了一些针对函数处理的特殊方法filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuplemap(function, sequence) :对sequence中的item依次执行funct原创 2014-03-06 11:04:09 · 1606 阅读 · 2 评论 -
指定ubuntu下的Python的运行版本
问题描述:Ubuntu 12中默认就自带了python的2.7版本,我自己安装了一个python3.2的版本,可是如果你不设置环境变量,那么在终端中运行的python都是系统默认的版本,这样就会导致3.2的程序在终端下无法运行,没有办法必须要将默认的python版本换到3.2.问题分析:其实在linux系统中多个python版本是可以共存的,只不过在终端中运行的时候,输入 pyth原创 2012-11-07 21:52:16 · 32255 阅读 · 12 评论 -
使用Python开发Kafka消息生产者
安装Kafka-Python下载Kafka-Python压缩包从https://github.com/mumrah/kafka-python/releases中下载最新的release包,此时最新的包为kafka-python-0.9.3.tar.gz 编译安装$tar -xvf kafka-python-0.9.3.tar.gz$cd kafk原创 2015-03-25 17:46:42 · 19539 阅读 · 2 评论 -
使用pyenv和virtualenv搭建python虚拟环境实践总结
介绍出于种种原因,很多人的电脑上会同时安装很多个版本的 Python,比如会有 2.7 + 3.4。一般在 windows 下我们都可以通过使用绝对路径的方式来绕过系统对 PATH 环境变量的查询;在 Linux 下除了这种方式外,还可以在脚本文件开头显示指定需要使用的解释器,就像这样:#!/usr/bin/env python2.7 或 #!usr/bin/env python3.4。一旦特定版本原创 2017-02-21 17:20:25 · 14910 阅读 · 2 评论 -
使用PDB调试Python程序的完整实践
介绍在开发简单程序的时候,可以通过加入print或是log的方式进行程序的调试,但是对于复杂的程序这种方式往往比较困难,这时就需要引入一种可以进行单步调试以及可以方便查看变量的方法来进行程序问题的排查,Python 的pdb就是用来解决这个问题的。常用命令 命令 用途 break 或 b 设置断点 continue 或 c 继续执行程序, 或是跳到下个断点 list 或 l原创 2017-02-22 14:28:28 · 18737 阅读 · 1 评论 -
使用cProfiler对Python程序进行性能分析
介绍profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述。 Python中含有3个模块提供这样的功能,分别是cProfile,profile和pstats。这些分析器提供的是对Python程序的确定性分析。同时也提供一系列的报表生成工具,允许用户快速地检查分析结果。Python标准库提供了3个不同的性能分析器: - cProfile,推荐给大部分的用户,是C的原创 2017-02-22 15:44:58 · 3255 阅读 · 0 评论 -
使用uwsgi+nginx运行django程序
环境Ubuntu:14.04Python:2.7部署代码代码说明:样例代码参考Django官方例子 https://docs.djangoproject.com/en/1.10/intro/tutorial01/代码位置:https://github.com/Eric-aihua/django_sample安装软件uwsgipip install uwsgiNginxapt-get in原创 2017-03-17 18:46:26 · 2537 阅读 · 0 评论 -
Python 3.x 中"HTTP Error 403: Forbidden"问题的解决方案
urllib.request.urlopen() 方法经常会被用来打开一个网页的源代码,然后会去分析这个页面源代码,但是对于有的网站使用这种方法时会抛出"HTTP Error 403: Forbidden"异常原创 2013-09-07 12:08:56 · 80283 阅读 · 6 评论 -
让大蛇(Python)帮你找工作 之增强版
如果你目前正在找工作,且需要经常到某个求职网站一页一页的搜索信息,你就Out了,这个小爬虫可以自动帮你定时检索信息,且发送到相关的邮箱。just to feel it.原创 2013-08-14 22:47:34 · 2928 阅读 · 0 评论 -
python:将数字转换成用英文表达的程序
前几天无意中看到了一篇文章列了很多数字的英文表达方式(http://blog.csdn.net/sun7545526/article/details/8122416),正好这段时间在学习python,所以写了个简单的程序用来将数字翻译成英文的表达方式,例如输入123,返回 one hundred and twenty-three ,目前该程序可以表示的范围为0-999,999,999,999原创 2012-10-31 21:14:08 · 16809 阅读 · 6 评论 -
用Python实现的"石头,剪刀,布"
需求:设计一个"石头,剪子,布"游戏,有时又叫"Rochambeau",你小时候可能玩过,下面是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种手势:石头,剪子,布.胜利者从下面的规则中产生,这个规则本身是个悖论. (a) 布包石头. (b)石头砸剪子, (c)剪子剪破布.在你的计算机版本中,用户输入她/他的选项,计算机找一个随机选项,然后由你的程序来决定一个胜原创 2012-11-01 21:40:21 · 6709 阅读 · 3 评论 -
Python:统计特定文件夹中,特定文件代码行数的小程序
最近自己在帮朋友做一个外贸管理系统项目,哼哧哼哧弄了2个月,写了一大堆的java代码,还有xhtml文件,处于对自己成就感满足的需求,打算写个程序统计一下目前总共的代码行数,正好最近在学习Python程序,于是实现的语言选择了Python,由于自己是新手,所以写的不足的地方还请指点程序如下(统计特定目录下,java文件的行数):'''count file lines number b原创 2013-01-22 00:04:15 · 1612 阅读 · 0 评论 -
用Python 实现的目录拷贝程序
背景:最近自己在做一个项目,由于时间紧,任务重,所以会利用在公司空余的时间去做,由于公司不能访问一些免费的代码管理的网站,所以天天只能用u盘来回的拷贝在公司和家里做的修改,随着文件的慢慢增加,拷贝的时间也越来越长,而且拷贝的时候会浪费很多的时间拷贝class文件,正好最近在学习python,所以用python写了个小程序,可以用这个程序在固定的目录之间来回的拷贝.程序如下:'''copy原创 2013-01-23 21:09:59 · 1419 阅读 · 0 评论 -
Python 3.2 的程序转换成exe的总结
最近用Python3.2 写了个拷贝文件的程序,需要在多个客户端使用,让用户依次下载安装Python是不大可行的,所以决定把写好的程序连同Python3运行环境一起打包发布。首先找到的就是大名鼎鼎的py2exe,不过该工具目前不支持Python3版本。后来找到了cx_Freeze这个项目(传送门)。在项目官网找到对应的版本下载安装后,在程序目录新建一个.py文件(比如我这里使用的py2原创 2013-01-23 21:18:06 · 3343 阅读 · 2 评论 -
Python 实现的"冒泡排序"
'''Bubble Sort@author: aihua.sun'''import stringimport randomnumber = [];count = 0;def bubbleSort(): #initializeNumberArray(); generateRandomNumberArray(10, 1, 300); showArra原创 2013-01-24 20:16:04 · 1484 阅读 · 0 评论 -
Python 3.2中 推导列表的简单小例子
最近在学习Python, 虽然说语法不是很复杂,可是还是有很多微妙之处,下面是对"推导列表的简单例子"所谓的"推导列表"就是更具表达式来生成有规则的列表.#简单的推导列表def singleSlightlyLoopSample(): list1=[x*x for x in range(100)]; print(list1);#包含元祖的推导列表def doubleS原创 2013-04-01 20:27:01 · 1474 阅读 · 0 评论 -
Python 实现的Binary Search 算法以及效率的对比
最近用Python3.2,3实现了一下Binary Search算法,同时看到网上有关于程序执行时间统计的代码段,于是就加到了程序里import randomimport functoolsimport timeitoriginal=[]target=0;def binary_search(target,seq=[],lowerindex=0,upperindex=None):原创 2013-04-10 20:40:14 · 3626 阅读 · 0 评论 -
Python 3.3 中GUI的方案:PyQT+Eric
Python中GUI的库有很多种,不同的库有这不同的优缺点,跨平台性,以及对python版本的支持,所以在选择相应的GUI库的时候一定要注意Python以及对应库的版本,如果你使用的Python版本是3.3 那么可能就不能使用wxPython作为你的GUI方案,因为wxPython最高只能支持到Python2.9,具体关于Python GUI库的介绍可以参见http://wiki.python原创 2013-08-10 20:58:55 · 4564 阅读 · 0 评论 -
Python3.x和Python2.x的区别
Python3.x和Python2.x的区别(转自:http://www.cnblogs.com/codingmylife/archive/2010/06/06/1752807.html)这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和2.转载 2013-08-13 00:02:00 · 1578 阅读 · 1 评论 -
Python 3.2: 使用pymysql连接Mysql
在python 3.2 中连接MYSQL的方式有很多种,例如使用mysqldb,pymysql。本文主要介绍使用Pymysql连接MYSQL的步骤1 安装pymysql· 确保python3.2已经正确安装· 从 https://pypi.python.org/pypi/PyMySQL3 下载安装包· 解压到指定的路径·原创 2013-12-18 20:11:35 · 12799 阅读 · 0 评论 -
Python 3.2 常用代码片段之-十进制转化为二进制
Python真是个方便的语言,工作中通过Java,C或C#要通过数行完成的功能,Python只需要简简单单的几行便可将问题引刃而解,下面列举了个10进制转化为二进制的的常用方式:(1)直接用bin函数>>> bin(6) '0b110'(2)对bin函数的结果进行处理>>> bin(6)[2:] '110'(3)使用format函数>>> '原创 2013-05-29 21:27:51 · 2353 阅读 · 0 评论 -
Pydoop在AWS的Ubuntu上Segmentation fault 错误处理
问题描述平台用Python开发,使用pydoop对HDFS文件进行操作,当迁移到AWS时,出现Segmentation Fault, 通过排查,确定问题是因为调用了Pydoop对hdfs的初始化过程中出现的问题。 相关代码如下:from pydoop.hdfs import fs;print fs.hdfs()通过gdb调试,错误信息如下: 问题原因通过查阅资料,初步判断是由于堆栈溢出导致的原创 2017-07-14 09:50:15 · 1867 阅读 · 0 评论