python写的小工具
A. 如何用python开发一个小桌面软件
PyQt4或PyQt5或PySide自己研究下吧其实吧。还是搞web或者app开发吧。桌面开发,个人观点不太看好
B. 开发Python用哪些工具好
刚学python时,面对简陋的官方版idle和一大堆开发平台和发行版,不知道究竟如何下手。在进行多方尝试后,我最后的选择是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和小段程序调试的工作,用Pycharm写相应脚本和程序包的开发。这两个工具都是跨平台的,也都有免费版本。
具体来说Anaconda集成了几乎所有我需要的包库,包含了我整个工作流程,做数据分析的pandas\scipy\numpy、绘图的matplotlib、读写Excel文档的xlrd/xlwt,链接sql数据库的SQLalchemy、机器学习框架sklearn等。对于Anaconda集成的两个工作平台,Spyder——一个类似于Matlab和Rstudio的IDE,是专注于面向数据的分析的,因为其特点也主要是数据区的存在,可以即时知道变量值的变化;Ipython——一个基于cell的shell界面,可以理解为python自带shell的增强版,它将程序分成一块一块的cell,每个cell可以包含多条语句,可以单独调试运行,并将结果保存在内存中,cell之间可以相互调用,并保持一定的相互独立。
C. 零基础初学python想自己写一个小工具到最后一步结果怎么把p调出来与输入的z相乘
首先,你y==3的地方忘记了双引号。
其实调出来很简单,直接在bilv函数里加一个global p的声明,将p声明为全局变量就可以了。(我看你其他的全局变量用的也挺对的呀,应该贯通一下)
D. 用Python写过哪些的小工具
用后缀树找出《红楼梦》中的单词,并且生成一段《红楼梦》风格的文字。
缘起是我之前看到了一篇分析红楼梦词频并判断前八十回和后四十回的作者是否为同一个人的专栏文章(没收藏,所以忘了是哪篇文章了)。文章的作者用的是“结巴分词”这个库来分割单词的。我想,这样半文半白的小说要是现代文的分词模型来进行分词,准确性应该不会很高。于是我就有完全根据红楼梦原文来统计词频的想法。然后我就想到了后缀树,因为后缀树可以很快速地找出字符串中重复的部分,而单词一般都会重复出现。
当然,单词一般会重复出现,但是重复出现的不一定都是单词,还有可能是上一个单词的后半部分和下一个单词前半部分的组合,或者只是完整单词的一部分。所以,在构造后缀树以后,我还设计了一些规则来把不像单词的内容过滤掉。如果一个“单词”的前面经常出现同样的内容,那么这一项很可能只是一个完整单词的后半部分,因此会被去掉。又如,如果一个“单词”出现的次数相对较少,那么很可能只是巧合导致的重复,也会被去掉。这个过程刚好能利用上后缀树里的后缀链,因此非常快速。经过这样的处理之后,生成的单词表里奇怪的内容就少了很多。
实际的规则还要略微复杂一些,比如“出现次数相对较少”的判断标准,会结合单词前半部分出现次数以及单词与后面文字的组合情况进行计算。当时尝试各种计算方法以及阈值的时候也花了不少时间。
然而这个算法还是太简单了,因此还会不小心过滤掉一些真的单词,也会留下一些不是单词的内容。另外,程序经常把词组也当成单词,不过只是生成单词表的话,把词组留下也未尝不可。虽然有这些问题,但是感觉效果还是可以的。
E. 利用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. 保存就好了
F. Github 上有哪些简单的 Python 小工具值得推荐
SQLMAP!
这货绝对是除了goagent已外人类已知最屌的python小工具了
至于sqlmap简单不简单嘛……你大多数情况下加 -u 和 --data 两个参数就能搞定大多数注入点了
G. 写windows桌面应用程序学python还是c#想平时写一些小工具什么的自己使用。
只能用.net(其它的包括VC++或者Delphi,VB也是可以的),而且python也是解释型的语言,效率要比.net低的多。(桌面应用方面,用java也是不行的,如果要求稍高的话)
H. python工具有哪些
第一款:最强终端 Upterm
它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能,之前的名字叫作:BlackWindow。有人跟他说这个名字不利于社区推广,改名叫Upterm之后现在已经17000+Star了。
第二款:交互式解释器 PtPython
一个交互式的Python解释器,支持语法高亮、提示,甚至是VIM和emacs的键入模式。
第三款:包管理必备 Anaconda
强烈推荐:Anaconda。它能帮你安装许多麻烦的东西,包括:Python环境、pip包管理工具、常用的库、配置好环境路径等等。这些小事情小白自己一个个去做的话,容易遇到各种问题,也容易造成挫败感。如果你想用Python搞数据方面的事情,安装它就可以了,它甚至开发了一套JIT的解释器Numba。所以Anaconda有了JIT之后,对线上科学计算效率要求比较高的东西也可以搞定了。
第四款:编辑器 Sublime3
如果你是小白的话,推荐从PyCharm开始上手,但是有时候写一些轻量的小脚本,就会想到轻量级一点的工具。Sublime3很多地方都有了极大的提升,并且用起来比原来还要简单,配合安装Anaconda或CodeIntel插件,可以让Sublime3拥有近乎IDE的体验。
第五款:前端在线编辑器 CodeSandbox
虽然这个不算是真正意义上的Python开发工具,但如果后端工程师想要写前端的话,这个在线编辑器太方便了,节省了后端工程师的生命。不用安装npm的几千个包了,它已经在云端完成了,才让你直接就可以上手写代码、看效果。对于React、Vue这些主流前端框架都支持。
第六款:Python Tutor
Python
Tutor是一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在web浏览器中编写Python代码,并逐步可视化地运行程序。
第七款:IPython
如何进行交互式编程?没错,就是通过IPython。IPython相对于Python自带的shell要好用的多,并且能够支持代码缩进、TAB键补全代码等功能。如果进行交互式编程,这是不可缺少的工具。
第八款:Jupyter Notebook
Jupyter
Notebook就像一个草稿本,能将文本注释、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,以Web页面的方式展示,它是数据分析、机器学习的必备工具。
第九款:Pycharm
Pycharm是程序员常常使用的开发工具,简单、易用,并且能够设置不同的主题模式,根据自己的喜好来设置代码风格。
第十款:Python Tutor
这个工具可能对初学者比较有用,而对于中高级程序员则用处较少。这个工具的特色是能够清楚的理解每一行代码是如何在计算机中执行的,中高级程序员一般通过分步调试可以实现类似的功能。这个工具对于最初接触Python、最初来学习编程的同学还是非常有用的,初学者可以体验一下。
I. 用Python写过哪些的小工具
为了逃避学校布置的美术作业,写过一个画素描的程序。
从后再也不担心美术作业了。
也就是利用Python的PIL库来 将彩色图片转化为素描效果的图片
更新说明:
前面那个程序写的太粗糙了,不好意思拿出来分享,重新写了一遍,加上了GUI图形界面。
配置环境:
windows 10
python 3.5
image.py
from PIL import Image
import numpy as np
import os
import join
import time
def image(sta,end,depths=10):
a = np.asarray(Image.open(sta).convert('L')).astype('float')
depth = depths # (0-100)
grad = np.gradient(a) # 取图像灰度的梯度值
grad_x, grad_y = grad # 分别取横纵图像梯度值
grad_x = grad_x * depth / 100.
grad_y = grad_y * depth / 100.
A = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)
uni_x = grad_x / A
uni_y = grad_y / A
uni_z = 1. / A
vec_el = np.pi / 2.2 # 光源的俯视角度,弧度值
vec_az = np.pi / 4. # 光源的方位角度,弧度值
dx = np.cos(vec_el) * np.cos(vec_az) # 光源对x 轴的影响
dy = np.cos(vec_el) * np.sin(vec_az) # 光源对y 轴的影响
dz = np.sin(vec_el) # 光源对z 轴的影响
b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z) # 光源归一化
b = b.clip(0, 255)
im = Image.fromarray(b.astype('uint8')) # 重构图像
im.save(end)
def mains(numbers):
number = int(numbers)
startss = os.listdir(".\输入----图片")
time.sleep(2)
for starts in startss:
start = ''.join(starts)
print('正在转化--图片: ' + start)
sta = './' + '输入----图片/' + start
end = './' + '输出----图片/' + 'HD_20' + start
image(sta=sta,end=end,depths=number)
简单来说,就是利用python的Numpy库,将图像降维转化为数字化的数据,之后对数据进行操作,再利用pillow库将操作好的数据转化为素描效果的图片。
GUI图形界面程序
main.py
import os
from image import mains
from tkinter import *
def exists_mkdir():
if os.path.exists('输出----图片') and os.path.exists('输入----图片'):
pass
else:
os.mkdir('输出----图片')
os.mkdir('输入----图片')
def images():
try:
s1 = e1.get()
a = mains(s1)
c["text"] = "我们的程序运行成功了"
except Exception:
c["text"] = "程序运行出错了,可能是缺少了两个配置文件"
#创建程序运行需要的工作目录
exists_mkdir()
tk = Tk()
# 设置窗口大小和位置
tk.geometry('430x350+80+60')
# 不允许改变窗口大小
tk.resizable(False, False)
## 用来显示Label组件
tk.title('素描图生成器')
w1 = Label(tk,text='作者博客:www.liuchaoblog.live')
w = Label(tk,text='')
w2 = Label(tk,text='欢迎使用:')
w3 = Label(tk,text='步骤一:将需要转化的图片放入 输入----图片 文件夹下')
w4 = Label(tk,text='步骤二:输入 0-100的数值,数值越大,颜色越深。--------标准参数是 10 ')
w5 = Label(tk,text='步骤三:点击确认 运行程序 等待出现提示')
w6 = Label(tk,text='步骤四:到输入----图片 文件夹找到素描图')
w1.grid(row=0,column=0,sticky=W)
w.grid(row=1,column=0,sticky=W)
w2.grid(row=2,column=0,sticky=W)
w3.grid(row=3,column=0,sticky=W)
w4.grid(row=4,column=0,sticky=W)
w5.grid(row=5,column=0,sticky=W)
w6.grid(row=6,column=0,sticky=W)
l = Label(tk,text="输入 0-100的数值")
l.grid(row=8,column=0,sticky=E)
## 用来显示输入框
e1 = Entry(tk)
e1.grid(row=10,column=0,sticky=E)
## 用来显示Button
b = Button(tk,text='确定',command=images)
b.grid(row=12,column=0,sticky=E)
c = Label(tk,text="",background="yellow")
c.grid(row = 15)
# 启动消息主循环
tk.mainloop()
运行效果:
这个程序我用pyinstaller做成exe文件了。