1.用Python写过哪些的小工具
用后缀树找出《红楼梦》中的单词,并且生成一段《红楼梦》风格的文字。
缘起是我之前看到了一篇分析红楼梦词频并判断前八十回和后四十回的作者是否为同一个人的专栏文章(没收藏,所以忘了是哪篇文章了)。文章的作者用的是“结巴分词”这个库来分割单词的。我想,这样半文半白的小说要是现代文的分词模型来进行分词,准确性应该不会很高。于是我就有完全根据红楼梦原文来统计词频的想法。然后我就想到了后缀树,因为后缀树可以很快速地找出字符串中重复的部分,而单词一般都会重复出现。
当然,单词一般会重复出现,但是重复出现的不一定都是单词,还有可能是上一个单词的后半部分和下一个单词前半部分的组合,或者只是完整单词的一部分。所以,在构造后缀树以后,我还设计了一些规则来把不像单词的内容过滤掉。如果一个“单词”的前面经常出现同样的内容,那么这一项很可能只是一个完整单词的后半部分,因此会被去掉。又如,如果一个“单词”出现的次数相对较少,那么很可能只是巧合导致的重复,也会被去掉。这个过程刚好能利用上后缀树里的后缀链,因此非常快速。经过这样的处理之后,生成的单词表里奇怪的内容就少了很多。
实际的规则还要略微复杂一些,比如“出现次数相对较少”的判断标准,会结合单词前半部分出现次数以及单词与后面文字的组合情况进行计算。当时尝试各种计算方法以及阈值的时候也花了不少时间。
然而这个算法还是太简单了,因此还会不小心过滤掉一些真的单词,也会留下一些不是单词的内容。另外,程序经常把词组也当成单词,不过只是生成单词表的话,把词组留下也未尝不可。虽然有这些问题,但是感觉效果还是可以的。
2.用Python写过哪些脑洞大开的小工具
#!/usr/bin/env python2.7# --*-- encoding: utf-8 --*--# enable print(,end='')#from __future__ import print_function import argparse import sys import os import re import bs4 import urlparse import requests def download(url, out, title): #out = url.split('/')[-1] resp = requests.get(url, stream=True) if resp.status_code != requests.codes.ok: return False total = resp.headers.get('content-length') if total is None: total = 0 else: total = int(total) def show_progress(total, acc): if total == 0: sys.stdout.write("{} ?\r".format(out)) else: #sys.stdout.write("{} [ {:3d}% ]\r".format(100*acc/total, out)) sys.stdout.write("{} \"{}\" {:3d}%\r".format(title, out, 100*acc/total)) sys.stdout.flush() acc = 0 show_progress(total, acc) with open(out, 'wb') as f: for chunk in resp.iter_content(chunk_size=1024): if chunk: # filter out keep-alive new chunks f.write(chunk) f.flush() acc += len(chunk) show_progress(total, acc) sys.stdout.write("\n") return True def fetch(from_url, offset, count): with open(from_url, "r") as f: html = f.read() soup = bs4.BeautifulSoup(html) # get title content = soup.find_all("h2", class_="first") if len(content) == 0: print("title not found!") return elif len(content) != 1: print("title not unique!") fdir = content[0].contents[0].encode("utf8").strip().replace("–", "-") if not os.path.exists(fdir): os.mkdir(fdir) print("mkdir: \"{}\"".format(fdir)) # get image url content = soup.find_all("div", id=re.compile("^post-")) if len(content) == 0: print("target not found!") return elif len(content) != 1: print("target not unique!") imgs = content[0].find_all("img") start = 0 if offset is None else offset end = len(imgs) if count is None else (start+count) print("# of image: {}".format(nimg)) for idx in range(start, end): img = imgs[idx] url = str(img.attrs["src"]) #url = url.replace("。
3.编写python的软件有哪些?
编写python源代码的软件.首推的Pycharm。
PyCharm用于bai一般IDE具备的功能,比如, 调试、语法高亮、Project管理、du代码跳转、智能提示、自动完zhi成、单元测试、版本控制另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。其次是sublime text,Sublime Text 支持多种编程语言的语法高亮、拥有优秀的代码自动完成功能,还拥有代码片段(Snippet)的功能,可以将常用的代码片段保存起来,在需要时随时调用。
支持 VIM 模式,可以使用Vim模式下的多数命令。支持宏,简单地说就是把操作录制下来或者自己编写命令,然后播放刚才录制的操作或者命令。
还有Jupyter, Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。最后就是最基本的nopad++,最开始的时候是实用这款作为开发工具进行基础练习。
4.利用python编写一个类似QQ截图的小工具应该怎么入手
#保存下面代码为 "微信截图.pyw",并把微信安装文件夹的 PrScrn.dll 文件拷贝到同一目录下#!/usr/bin/env python#-*- coding:utf-8 -*-import ctypesimport osdef capture():try:dll = ctypes.cdll.LoadLibrary('PrScrn.dll')except Exception:print("Dll load error!")returnelse:try:dll.PrScrn(0)except Exception:print("Sth wrong in capture!")returndef main():os.system("pause")capture()if __name__ == "__main__":main()如何实现快捷键截图:1. 将上述代码保存为*.pyw格式2. 右键点击发送到桌面快捷方式3. 右键点击桌面上该文件的快捷方式 "属性" --> "快捷方式",点击 "快捷键",接着按下 "Ctrl + 你想设置的按键"4. 保存就好了。
5.python编程软件有什么
Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码编辑器和Python集成开发工具。
python学习网,大量的免费python视频教程,欢迎在线学习!
相关推荐:《Python教程》
一、Python代码编辑器
1. Sublime Text
Sublime Text是一款非常流行的代码编辑器,支持Python代码编辑,同时兼容所有平台,并且丰富的插件扩展了语法和编辑功能,迅捷小巧,具有良好的兼容性,很受编程人士的喜爱!
2. Vim
Vim和Vi是一种模型编辑器,它将文本查看从文本编辑中分离,VIM在原始VI之上做了诸多改进,包括可扩展模型和就地代码构建,VIMScripts可用于各种Python开发任务!
3. Atom
Atom被称为“21世纪可破解的文本编辑器”,可以兼容所有平台,拥有时尚的界面、文件系统浏览器和扩展插件市场,使用Electron构建,其运行时安装的扩展插件可支持Python语言!
4. GNU Emacs
GNU Emacs是一款终身免费且兼容任何平台的代码编辑器,使用强大的Lisp编程语言进行定制,并为Python开发提供各种定制脚本,是一款可扩展、可定制、自动记录、实时显示的编辑器,一直萦绕在UNIX周围。
5. Visual Studio Code
Visual Studio Code是一款兼容Linux、Mac OS X和Windows 平台的全功能代码编辑器,可扩展并且可以对几乎所有任务进行配置,对于Python的支持可以在Visual Studio Code中安装插件,只需快速点击按钮即可成功安装,且可自动识别Python安装和库。
二、Python集成开发环境
1. PyCharm
PyCharm是唯一一款专门面向Python的全功能集成开发环境,同样拥有付费版和免费开源版,PyCharm不论是在Windows、Mac OS X系统中,还是在Linux系统中都支持快速安装和使用。
PyCharm直接支持Python开发环境,打开一个新的文件然后就可以开始编写代码,也可以在PyCharm中直接运行和调试Python程序,它还支持源码管理和项目,并且其拥有众多便利和支持社区,能够快速掌握学习使用!
2. Eclipse + PyDev
PyDev是Eclipse集成开发环境的一个插件,支持Python调试、代码补全和交互式Python控制台等,在Eclipse中安装PyDev非常便捷,只需从Eclipse中选择“Help”点击“Eclipse Marketplace”然后搜索PyDev,点击安装,必要的时候重启Eclipse即可,对于资深Eclipse开发者来说,PyDev可以很轻松上手!
3. Visual Studio
Visual Studio是一款全功能集成开发平台,提供了免费版和付费版,可以支持各种平台的开发,且附带了自己的扩展插件市场。在Visual Studio中可进行Python编程,并且支持Python智能感知、调试和其他工具,值得注意的是Visual Studio不支持Linux平台!
4. Spyder
Spyder是一款为了数据科学工作流做了优化的开源Python集成开发环境,它是附在Anaconda软件包管理器发行版中的,Spyder拥有大部分集成开发环境该具备的功能,如强大语法高亮功能的代码编辑器、Python代码补全以及集成文件浏览器,其还具有其他Python编辑环境中所不具备的变量浏览器功能,十分适合使用Python的数据科学家们。
5. Thonny
Thonny是针对新手的一款集成开发环境,适用于全部主流平台,默认情况下,Thonny会和自带捆绑的Python版本一起安装,十分方便新手使用!
以上是比较常用的几款Python代码编辑器和Python集成开发环境,Python开发人员、正在学习Python开发以及想从事Python开发工作人员可以尝试使用一下,选择自己最顺手的开发工具,对以后的工作可以起到事半功倍的效果!
6.开发Python用哪些工具好
1.Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。
可以应用在包括数据挖掘,信息处理或存copy储历史数据等一系列的程序中2.pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。3.Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等4.Beautiful Soup 是一个可以从HTML或XML文件中提取数据的知Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。
7.利用python编写一个类似QQ截图的小工具应该怎么入手
#保存下面代码为 "微信截图.pyw",并把微信安装文件夹的 PrScrn.dll 文件拷贝到同一目录下
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import ctypes
import os
def capture():
try:
dll = ctypes.cdll.LoadLibrary('PrScrn.dll')
except Exception:
print("Dll load error!")
return
else:
try:
dll.PrScrn(0)
except Exception:
print("Sth wrong in capture!")
return
def main():
os.system("pause")
capture()
if __name__ == "__main__":
main()
如何实现快捷键截图:
1. 将上述代码保存为*.pyw格式
2. 右键点击发送到桌面快捷方式
3. 右键点击桌面上该文件的快捷方式 "属性" -->; "快捷方式",点击 "快捷键",接着按下 "Ctrl + 你想设置的按键"
4. 保存就好了
8.利用python编写一个类似QQ截图的小工具应该怎么入手
# -*- coding: utf-8 -*-
import pythoncom
import pyHook
import time
import win32api
import win32con
from pymouse import PyMouse
from PIL import ImageGrab
mouse = PyMouse()
start = list()
end = list()
def on_mouse_left_down(event):
global start
start = mouse.position()
return True
def on_mouse_left_up(event):
global end
end = mouse.position()
if start[0] < end[0] and start[1] < end[1]:
start_x = start[0]
start_y = start[1]
end_x = end[0]
end_y = end[1]
elif start[0] > end[0] and start[1] < end[1]:
start_x = end[0]
start_y = start[1]
end_x = start[0]
end_y = end[1]
elif start[0] < end[0] and start[1] > end[1]:
start_x = start[0]
start_y = end[1]
end_x = end[0]
end_y = start[1]
elif start[0] > end[0] and start[1] > end[1]:
start_x = end[0]
start_y = end[1]
end_x = start[0]
end_y = start[1]
else:
return True
grab_tuple = (start_x, start_y, end_x, end_y)
print grab_tuple
im = ImageGrab.grab(grab_tuple)
im.save("test.jpg", 'jpeg')
return True
hm = pyHook.HookManager()
hm.MouseLeftDown = on_mouse_left_down
hm.MouseLeftUp = on_mouse_left_up
hm.HookMouse()
pythoncom.PumpMessages()
再做个屏幕遮罩就完美啦
9.python初学者工具用什么工具好呢
很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头。
后来工作中深刻体会到,合理使用开发的工具的便利和高效。今天,我就把Python程序员使用频率比较高的5款开发工具推荐给大家,希望对大家的工作和学习有帮助。
一、最强终端:Upterm本来想推荐 fish 或者 zsh,但其实这两个我也主要是贪图自动补全这个特性。最近在用的这个 Upterm 其实很简单好用,它是一个全平台的终端,可以说是终端里的 IDE,有着强大的自动补全功能。
之前的名字叫 BlackWindow,有人跟他说这个名字不利于社区推广,改名叫 Upterm 之后现在已经17000+ Star了。二、交互式解释器:Ptpython一个交互式的 Python 解释器。
支持语法高亮、提示甚至是 vim 和 emacs 的键入模式。其实我们在课程里提供的在线终端也内置了 ptpython。
三、包管理必备:Anaconda强烈推荐Anaconda ,它能帮你安装好许多麻烦的东西,包括: Python 环境、pip 包管理工具、常用的库、配置好环境路径等等。这些事情小白自己一个个去做的话,容易遇到各种问题,带来挫败感。
如果你想用Python搞数据方面的事情,就安装它就好了,它甚至开发了一套JIT的解释器Numba。所以 Anaconda有了JIT之后,对线上科学计算效率要求比较高的东西也可以搞了。
四、编辑器:Sublime3小白的话当然还是推荐从PyCharm开始上手,但有时候写一些轻量的小脚本,就会想用轻量级一点的工具。Sublime3很多地方都有了极大的提升,并且用起来比原来还要简单。
配合安装Anaconda或CodeIntel插件,可以让 Sublime拥有近乎IDE的体验。五、前端在线编辑器:CodeSandbox虽然这个不算是真正意义上的Python开发工具,但如果后端工程师想写前端的话,这个在线编辑器太方便了,简直是节省了后端工程师的生命啊!不用安装npm的几千个包了,它已经在云端完成了,采让你直接就可以上手写代码、看效果。
对于 React、Vue 这些主流前端框架都支持。算是一个推荐补充吧。
转载请注明出处编程代码网 » python编写的小工具(用Python写过哪些的小工具)