这里会将看到别人玩过有趣的实践并记录下来,会是一个长期更新的过程...

以下大部分均非原创变化自网络,只是觉得有趣便记录下来了,如有侵权,请告知删除...

自动化脚本。。。

20个必不可少的Python库

转载:http://www.python123.org/tutorials/58b41f2a28c8f30100bd41dc

读者们好。今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们。他们是:

Requests.Kenneth Reitz写的最富盛名的http库。每个Python程序员都应该有它。

Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的。用过它之后你就不会再想用别的同类库了。

wxPython.Python的一个GUI(图形用户界面)工具。我主要用它替代tkinter。你一定会爱上它的。

Pillow.它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。

SQLAlchemy.一个数据库的库。对它的评价褒贬参半。是否使用的决定权在你手里。

BeautifulSoup.我知道它很慢,但这个xml和html的解析库对于新手非常有用。

Twisted.对于网络应用开发者最重要的工具。它有非常优美的api,被很多Python开发大牛使用。

NumPy.我们怎么能缺少这么重要的库?它为Python提供了很多高级的数学方法。

SciPy.既然我们提了NumPy,那就不得不提一下SciPy。这是一个Python的算法和数学工具库,它的功能把很多科学家从Ruby吸引到了Python。

matplotlib.一个绘制数据图的库。对于数据科学家或分析师非常有用。

Pygame.哪个程序员不喜欢玩游戏和写游戏?这个库会让你在开发2D游戏的时候如虎添翼。

Pyglet.3D动画和游戏开发引擎。非常有名的Python版本Minecraft就是用这个引擎做的。

pyQT.Python的GUI工具。这是我在给Python脚本开发用户界面时次于wxPython的选择。

pyGtk.也是Python GUI库。很有名的Bittorrent客户端就是用它做的。

Scapy.用Python写的数据包探测和分析库。

pywin32.一个提供和windows交互的方法和类的Python库。

nltk.自然语言工具包。我知道大多数人不会用它,但它通用性非常高。如果你需要处理字符串的话,它是非常好的库。但它的功能远远不止如此,自己摸索一下吧。

nose.Python的测试框架。被成千上万的Python程序员使用。如果你做测试导向的开发,那么它是必不可少的。

SymPy.SymPy可以做代数评测、差异化、扩展、复数等等。它封装在一个纯Python发行版本里。

IPython.怎么称赞这个工具的功能都不为过。它把Python的提示信息做到了极致。包括完成信息、历史信息、shell功能,以及其他很多很多方面。一定要研究一下它。

我希望你喜欢今天的文章。请在评论区留下你的看法。如果你觉得有哪个库被遗漏了请在评论里告诉我,我会把它加上去。请留意下一期的文章。

英文原文:https://pythontips.com/2013/07/30/20-python-libraries-you-cant-live-without/ 译者:shambala

python gui 之 wxpython

  1. # -*- coding: utf-8 -*-
  2. __author__ = 'Frank Li'
  3. import wx
  4. app = wx.App()
  5. frame = wx.Frame(None,title = "Gui Test Editor",pos = (1000,200),size = (500,400))
  6. path_text = wx.TextCtrl(frame,pos = (5,5),size = (350,24))
  7. open_button = wx.Button(frame,label = "打开",pos = (370,5),size = (50,24))
  8. save_button = wx.Button(frame,label = "保存",pos = (430,5),size = (50,24))
  9. content_text= wx.TextCtrl(frame,pos = (5,39),size = (475,300),style = wx.TE_MULTILINE) # wx.TE_MULTILINE可以实现换行功能,若不加此功能文本文档显示为一行显示
  10. frame.Show()
  11. app.MainLoop()

QQ 简单聊天接入图灵机器人

  1. # -*- coding: utf-8 -*-
  2. __author__ = 'Frank Li'
  3. from qqbot import QQBotSlot as qqbotslot,RunBot
  4. # import turing
  5. from random import choice
  6. from qqbot import qqbotsched
  7. import requests
  8. import json
  9. key = '2e30d196049c4751b0254604a34ee858'
  10. # QQBot 就是一个qq登录的类
  11. # myqqbot = QQBot() #实例化一个qq实例
  12. # myqqbot.Login('57xxxx') #进行登录,执行这条命令,系统会弹出一个二维码,我们扫码登录
  13. # myqqbot.pollForever()
  14. def main(info):
  15. url = 'http://www.tuling123.com/openapi/api?key='+key+'&info='+info
  16. res = requests.get(url)
  17. res.encoding = 'utf-8'
  18. jd = json.loads(res.text)
  19. return jd['text']
  20. @qqbotsched(hour='11,16', minute='40')
  21. def mytask(bot):
  22. resturant_list = ['煲仔饭','黄焖鸡','浏阳蒸菜','津市牛肉粉','更多未知']
  23. gl = bot.List('group', '守望把开水')
  24. if gl is not None:
  25. for group in gl:
  26. bot.SendTo(group, '哔哔哔,同志们,开饭啦啦啦啦啦啦!!!')
  27. bot.SendTo(group, '今天随机餐馆--\\>'+choice(resturant_list))
  28. friend = []
  29. @qqbotslot
  30. def onQQMessage(bot, contact, member, content):
  31. # print(bot.List('group'))
  32. if bot.isMe(contact,member):
  33. # print('is me!!!')
  34. pass
  35. elif '@ME' in content:
  36. bot.SendTo(contact, '嗨! '+member.name + ',艾特我干嘛呢?')
  37. elif contact.ctype == 'buddy' and "--stop" == content:
  38. if contact.mark in friend:
  39. friend.remove(contact.mark)
  40. bot.SendTo(contact, '关闭机器人')
  41. elif contact.ctype == 'buddy' and "--start" == content and '哈哈,哈哈哈,哈哈哈哈哈' != contact.mark:
  42. if contact.mark not in friend:
  43. friend.append(contact.mark)
  44. bot.SendTo(contact, '欢迎使用机器人')
  45. elif contact.ctype == 'buddy' and not bot.isMe(contact,member):
  46. daan = main(content)
  47. bot.SendTo(contact, '
  48. python 有趣的库练习的更多相关文章

      1. python 中有趣的库tqdm
      1. Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator) # 方法1: import time from tqdm import tq ...

      1. Python底层socket库
      1. Python底层socket库将Unix关于网络通信的系统调用对象化处理,是底层函数的高级封装,socket()函数返回一个套接字,它的方法实现了各种套接字系统调用.read与write与Python ...

      1. 【C++实现python字符串函数库】strip、lstrip、rstrip方法
      1. [C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...

      1. 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
      1. [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

      1. 【C++实现python字符串函数库】一:分割函数:split、rsplit
      1. [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

      1. python使用cookielib库示例分享
      1. Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例 该模块主要功能是提供可存储cookie的对象.使用此模块捕获 ...

      1. Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED
      1. Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...

      1. 【python】标准库的大致认识
      1. 正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...

      1. Python 图形 GUI 库 pyqtgraph
      1. 原文  Python 图形 GUI 库 pyqtgraph pyqtgraph 是纯 Python 图形 GUI 库,基于PyQT4 /pyside和NumPy.它主要目的用于在数学/科学/工程中.M ...

    1. 随机推荐

        1. 洛谷P3953 逛公园(NOIP2017)(最短/长路,拓扑排序,动态规划)
        1. 洛谷题目传送门 又是一年联赛季.NOIP2017至此收官了. 这个其实是比较套路的图论DP了,但是细节有点恶心. 先求出\(1\)到所有点的最短路\(d1\),和所有点到\(n\)的最短路\(dn\) ...

        1. LOJ #2359. 「NOIP2016」天天爱跑步(倍增+线段树合并)
        1. 题意 LOJ #2359. 「NOIP2016」天天爱跑步 题解 考虑把一个玩家的路径 \((x, y)\) 拆成两条,一条是 \(x\) 到 \(lca\) ( \(x, y\) 最近公共祖先) 的 ...

        1. [模板]KMP算法
        1. 昨天晚上一直在调KMP(模板传送门),因为先学了hash[关于hash的内容会在随后进行更(gu)新(gu)]于是想从1开始读...结果写出来之后一直死循环,最后我还是改回从0读入字符串了. [预先定 ...

        1. 152. Maximum Product Subarray 以及 讨论【最大连续子序列】
        1. 题目大意: 连续最大子段积 题目思路: 最大值只能产生在一个正数x一个正数,一个负数乘一个负数,所以维护两个值,一个区间最大值,一个最小值 其他的话: 在讨论这个问题之前,我先来说一说大一刚开学就学了 ...

        1. luogu2467/bzoj1925 地精部落 (dp)
        1. 求1~n组成一个抖动序列的方案数 首先这种序列有一些非常妙妙但我发现不了的性质 1.对于一个抖动序列,如果i和i+1不相邻,则交换i和i+1,他还是个抖动序列 2.对于一个抖动序列,我把每个数拿n+1 ...

        1. bzoj1066 蜥蜴 (dinic)
        1. 最大流板子题. 对于每根柱子,建两个点ai,bi,建边(ai,bi,柱子高度) 对于距离不超过d的两根柱子i,j,建边(bi,aj,inf) 对于起始位置在i的每个蜥蜴,建边(S,ai,1) 对于能跳 ...

        1. CodeVS1288埃及分数(IDA*)
        1. 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的. 对于一个分数a/b,表示方法有很多种,但 ...

        1. scrapy 选择器
        1. 1.lxml(转自简书) from lxml import etree2 import requests3 45 url = " "6 html = requests.get(ur ...

        1. Spring -- <mvc:annotation-driven />
        1. <mvc:annotation-driven /> 会自动注册:RequestMappingHandlerMapping .RequestMappingHandlerAdapter 与Ex ...

        1. Docker安装及常用命令
        1. 修改机器名: [root@docker /]# hostnamectl set-hostname Docker 安装EPEL源: [root@docker /]# yum -y install epe ...