你写过哪些实用的Python代码?

Python这门语言很适合用来写些实用的小脚本,跑个自动化、爬虫、算法什么的,非常方便。

 

这也是很多人学习Python的乐趣所在,可能只需要花个礼拜入门语法,就能用第三方库去解决实际问题。我在Github上就看到过不少Python代码的项目,几十行代码就能实现一个场景功能,非常实用。

 

比方说仓库Python-master里的几个简单例子:

 

1、创建二维码

 

import pyqrcode
import png
from pyqrcode import QRCode

# Text which is to be converted to QR code
print("Enter text to convert")
s = input(": ")
# Name of QR code png file
print("Enter image name to save")
n = input(": ")
# Adding extension as .pnf
d = n + ".png"
# Creating QR code
url = pyqrcode.create(s)
# Saving QR code as  a png file
url.show()
url.png(d, scale=6)

 

 

2、从图片中截取文字

 

作者:朱卫军
链接:https://www.zhihu.com/question/282627359/answer/2521994250
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

# extract text from a img and its coordinates using the pytesseract module
import cv2
import pytesseract

# You need to add tesseract binary dependency to system variable for this to work

img = cv2.imread("img.png")
# We need to convert the img into RGB format
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

hI, wI, k = img.shape
print(pytesseract.image_to_string(img))
boxes = pytesseract.image_to_boxes(img)
for b in boxes.splitlines():
    b = b.split(" ")
    x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
    cv2.rectangle(img, (x, hI - y), (w, hI - h), (0, 0, 255), 0.2)

cv2.imshow("img", img)
cv2.waitKey(0)

3、判断闰年

 

def is_leap(year):
    leap = False
    if year % 4 == 0:
        leap = True
        if year % 100 == 0:
            leap = False
            if year % 400 == 0:
                leap = True
    return leap


year = int(input("Enter the year here: "))
print(is_leap(year))

4、简易日历

 

作者:朱卫军
链接:https://www.zhihu.com/question/282627359/answer/2521994250
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

from tkinter import *
import calendar

root = Tk()
# root.geometry("400x300")
root.title("Calendar")

# Function

def text():
    month_int = int(month.get())
    year_int = int(year.get())
    cal = calendar.month(year_int, month_int)
    textfield.delete(0.0, END)
    textfield.insert(INSERT, cal)


# Creating Labels
label1 = Label(root, text="Month:")
label1.grid(row=0, column=0)

label2 = Label(root, text="Year:")
label2.grid(row=0, column=1)

# Creating spinbox
month = Spinbox(root, from_=1, to=12, width=8)
month.grid(row=1, column=0, padx=5)

year = Spinbox(root, from_=2000, to=2100, width=10)
year.grid(row=1, column=1, padx=10)

# Creating Button
button = Button(root, text="Go", command=text)
button.grid(row=1, column=2, padx=10)

# Creating Textfield
textfield = Text(root, width=25, height=10, fg="red")
textfield.grid(row=2, columnspan=2)


root.mainloop()

 

 你写过哪些实用的Python代码?

 

 

5、打印图片分辨率

 

作者:朱卫军
链接:https://www.zhihu.com/question/282627359/answer/2521994250
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

def jpeg_res(filename):
   """"This function prints the resolution of the jpeg image file passed into it"""

   # open image for reading in binary mode
   with open(filename,'rb') as img_file:

       # height of image (in 2 bytes) is at 164th position
       img_file.seek(163)

       # read the 2 bytes
       a = img_file.read(2)

       # calculate height
       height = (a[0] << 8) + a[1]

       # next 2 bytes is width
       a = img_file.read(2)

       # calculate width
       width = (a[0] << 8) + a[1]

   print("The resolution of the image is",width,"x",height)

jpeg_res("img1.jpg")

这个项目只是作者平时工作用到的一些小脚本,可能也会帮助到你。作者虽然不是程序员,但他这种用代码解决问题的习惯会极大的提升效率,也会迸发出更多的创新思维。我觉得这样的代码每个人都可以写出来,只要慢慢积累多练习就可以。

 

 
 
 
 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:你写过哪些实用的Python代码? - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 一小伙使用 python爬虫来算命?

    1.获取内容 我们今天呢,就先做一个通过星座来得知三天的运势的小玩意, 这里有十二个星座,我点了第一个和第二个进去,也就是白羊座和金牛座: 就会发现一个规律              通过观察网址的链接,我这张丑脸泛起了灿烂的笑容。 也就是说,https://www.horoscope.com/us/horoscopes/general/是每个星座都共有的一…

    2023年4月2日
    00
  • Python基础语法:函数

    1 函数定义   1.1 函数概述 在程序设计中,函数的使用可以提升代码的复用率和可维护性。 提升代码的复用率: 程序设计中,一些代码的功能是相同的,操作是一样的,只不过针对的数据不一样。此种情况下,可以将这种功能写成一个函数模块,要使用此功能时只需调用这个函数模块就可以了。提升代码的可维护性: 使用函数后,实现了代码的复用,某个功能需要核查或修改时,只需要…

    2023年4月2日
    00
  • Python+matplotlib实现折线图的美化

    1. 导入包 import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker import matplotlib.gridspec as gridspec 2. 获得数据 file_id = ‘1yM_F93NY4QkxjlKL3GzdcCQEnBi…

    2023年3月31日
    00
  • 【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】

    准备工作开发环境 Python版本:3.7.8 相关模块:requests模块;tqdm模块;pyfreeproxy模块;pyechats模块;以及一些python自带的模块。 效果预览开始界面   游戏规则 wasd 控制人物的移动,空格启动律师函炸毁全部篮球。            代码实现 导入模块 import pygame import sys i…

    2023年4月2日
    00
  • python进行敏感性分析(SALib库)

    什么是敏感性分析  敏感性分析(sensitivity analysis)是指从定量分析的角度研究有关因素发生某种变化对某一个或一组关键指标影响程度的一种不确定分析技术。每个输入的灵敏度用某个数值表示即敏感性指数(sensitivity index) 敏感性指数包括以下几种: 一阶指数:度量单个模型输入对输出方差的贡献 二阶指数:度量两个模型输入的相互作用对…

    2023年4月2日
    00
  • python自学最快多长时间学完?

    0.基本的数据类型:   Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典)   1.基本的输入输出: input #输入 print #输出 age = 10; name = “小明”; print(age,type(age)) inputage = input(“请输入你的年龄…

    Python开发 2023年4月2日
    00
  • 什么是 Python?Python 基础编程入门指南

    Python是当今最流行的编程语言之一。Python以其简单的语法和多功能性而闻名,既易于学习又可用于高级应用程序。可以使用Python的领域也非常广泛,人工智能、机器学习、Web 开发…基本上绝大多数热门的域都能看到Python的身影。   今天,我们将深入了解 Python 是什么,它经常用于什么,以及如何从今天开始学习 Python。   Python…

    2023年4月2日
    00
  • Python 迭代器Iterator详情

    1. 什么是迭代器? 迭代器是一个表示数据流的对象,当我们调用next()方法时会返回容器中的下一个值 迭代器中包含__iter__和__next__()方法。通过__iter__方法可以返回迭代器对象本身的方法。__next__()方法会使cur指针始终指向当前位置,即返回容器中的下一个值,如果容器中没有更多元素了,则会抛出StopIteration异常。…

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部