【建议收藏】30个较难Python脚本,纯干货分享

 本篇较难,建议优先学习上篇       ;20个硬核Python脚本-CSDN博客

         接上篇文章,对于Pyhon的学习,上篇学习的结束相信大家对于Pyhon有了一定的理解和经验,学习完上篇文章之后再研究研究剩下的30个脚本你将会有所成就!加油!

  

目录

21、数据库连接 - SQLite

22、图像处理 - Pillow

23、图形界面 - Tkinter

24、文本生成 - Faker

25、加密和解密 - cryptography

26、Socket编程

27、并发编程 - threading

28、正则表达式 - re

29、REST API - FastAPI

30、数据库连接 - SQLAlchemy

31、文本处理 - NLTK

32、命令行应用 - argparse

33、微服务 - Flask-RESTful

34、数据处理 - BeautifulSoup

35、加密 - hashlib

36、数据序列化 - Pickle

37、并行处理 - concurrent.futures

38、网络爬虫 - Scrapy

39、异步编程 - asyncio

40、数据分析 - Numpy

41、数据处理 - Pandas

42、数据可视化 - Matplotlib

43、机器学习 - Scikit-Learn

44、机器学习 - Keras

45、图像处理 - OpenCV

46、数据爬取 - Scrapy

47、数据分析 - Seaborn

48、数据可视化 - Plotly

49、自然语言处理 - spaCy

50、机器学习 - XGBoost


21、数据库连接 - SQLite

import sqlite3

conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
conn.commit()
conn.close()

官方文档: https://www.sqlite.org/docs.html

22、图像处理 - Pillow

from PIL import Image

img = Image.open('example.jpg')
img.show()

官方文档: https://pillow.readthedocs.io/en/stable/index.html

23、图形界面 - Tkinter

import tkinter as tk

root = tk.Tk()
label = tk.Label(root, text="Hello, GUI!")
label.pack()
root.mainloop()

官方文档: https://docs.python.org/3/library/tkinter.html

24、文本生成 - Faker

from faker import Faker

fake = Faker()
print(fake.name())

官方文档: https://faker.readthedocs.io/en/master/

25、加密和解密 - cryptography

from cryptography.fernet import Fernet

key = Fernet.generate_key()
cipher_suite = Fernet(key)
text = "Secret message".encode()
cipher_text = cipher_suite.encrypt(text)
print(cipher_text)

官方文档: https://cryptography.io/en/latest/

26、Socket编程

import socket

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('127.0.0.1', 12345))
server_socket.listen(5)
print("Server is listening...")

while True:
    client_socket, addr = server_socket.accept()
    print(f"Connection from {addr}")
    client_socket.send(b"Hello, client!")
    client_socket.close()

官方文档: https://docs.python.org/3/library/socket.html

27、并发编程 - threading

import threading

def print

_numbers():
    for i in range(1, 6):
        print(f"Number: {i}")

def print_letters():
    for letter in "abcde":
        print(f"Letter: {letter}")

thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_letters)

thread1.start()
thread2.start()

官方文档: https://docs.python.org/3/library/threading.html

28、正则表达式 - re

import re

text = "My phone number is 123-456-7890."
pattern = r'\d{3}-\d{3}-\d{4}'
match = re.search(pattern, text)
if match:
    print(f"Phone number found: {match.group()}")

官方文档: https://docs.python.org/3/howto/regex.html

29、REST API - FastAPI

from fastapi import FastAPI

app = FastAPI()

@app.get("/items/{item_id}")
def read_item(item_id: int, query_param: str = None):
    return {"item_id": item_id, "query_param": query_param}

官方文档: https://fastapi.tiangolo.com/

30、数据库连接 - SQLAlchemy

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///mydatabase.db')
Base = declarative_base()

class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)

Session = sessionmaker(bind=engine)
session = Session()

官方文档: https://docs.sqlalchemy.org/en/20/

31、文本处理 - NLTK

import nltk
nltk.download('punkt')
from nltk.tokenize import word_tokenize

text = "This is a sample sentence."
tokens = word_tokenize(text)
print(tokens)

官方文档: https://www.nltk.org/

32、命令行应用 - argparse

import argparse

parser = argparse.ArgumentParser(description='A simple command-line app')
parser.add_argument('--name', type=str, help='Your name')
args = parser.parse_args()
print(f'Hello, {args.name}!')

官方文档: https://docs.python.org/3/library/argparse.html

33、微服务 - Flask-RESTful

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name)
api = Api(app)

class HelloWorld(Resource):
    def get(self):
        return {'message': 'Hello, World!'}

api.add_resource(HelloWorld, '/')

官方文档: https://flask-restful.readthedocs.io/en/latest/

34、数据处理 - BeautifulSoup

from bs4 import BeautifulSoup
import requests

url = "https://www.example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
print(soup.title.text)

官方文档: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

35、加密 - hashlib

import hashlib

text = "Secret Password"
hash_object = hashlib.sha256(text.encode())
hash_hex = hash_object.hexdigest()
print(hash_hex)

官方文档: https://docs.python.org/3/library/hashlib.html

36、数据序列化 - Pickle

import pickle

data = {'name': 'Alice', 'age': 30}
with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)

with open('data.pkl', 'rb') as file:
    loaded_data = pickle.load(file)
    print(loaded_data)

官方文档: https://docs.python.org/3/library/pickle.html

37、并行处理 - concurrent.futures

import concurrent.futures

def square(x):
    return x * x

with concurrent.futures.ThreadPoolExecutor() as executor:
    results = executor.map(square, [1, 2, 3, 4, 5])

for result in results:
    print(result)

官方文档: https://docs.python.org/3/library/concurrent.futures.html

38、网络爬虫 - Scrapy

import scrapy

class MySpider(scrapy.Spider):
    name = 'example.com'
    start_urls = ['https://www.example.com']

    def parse(self, response):
        # 爬取和处理数据
        pass

官方文档: https://docs.scrapy.org/en/latest/

39、异步编程 - asyncio

import asyncio

async def hello():
    await asyncio.sleep(1)
    print("Hello, Async!")

loop = asyncio.get_event_loop()
loop.run_until_complete(hello())

官方文档: https://docs.python.org/3/library/asyncio.html

40、数据分析 - Numpy

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr.mean())

官方文档: https://numpy.org/doc/stable/

41、数据处理 - Pandas

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)
print(df)

官方文档: https://pandas.pydata.org/docs/

42、数据可视化 - Matplotlib

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 18, 20]
plt.plot(x, y)
plt.show()

官方文档: https://matplotlib.org/stable/contents.html

43、机器学习 - Scikit-Learn

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train, y_train)

官方文档: https://scikit-learn.org/stable/documentation.html

44、机器学习 - Keras

from keras.models import Sequential
from keras.layers import Dense

model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

官方文档: https://keras.io/guides/

45、图像处理 - OpenCV

import cv2

image = cv2.imread('image.jpg')
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

官方文档: https://docs.opencv.org/master/index.html

46、数据爬取 - Scrapy

import scrapy

class MySpider(scrapy.Spider):
    name = 'example.com'
    start_urls = ['https://www.example.com']

    def parse(self, response):
        # 爬取和处理数据
        pass

47、数据分析 - Seaborn

import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset("iris")
sns.pairplot(data, hue="species")
plt.show()

官方文档: https://seaborn.pydata.org/introduction.html

48、数据可视化 - Plotly

import plotly.express as px

fig = px.scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13])
fig.show()

官方文档: https://plotly.com/python/

49、自然语言处理 - spaCy

import spacy

nlp = spacy.load('en_core_web_sm')
doc = nlp("This is a sample sentence.")
for token in doc:
    print(token.text, token.pos_)

官方文档: https://spacy.io/usage/spacy-101

50、机器学习 - XGBoost

import xgboost as xgb

data = xgb.DMatrix('train.csv')
param = {'max_depth': 3, 'eta': 0.1, 'objective': 'reg:squarederror'}
model = xgb.train(param, data, 10)

官方文档: https://xgboost.readthedocs.io/en/latest/

结束 over

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 以下是一个使用 Python 脚本实现数据加密的示例: ```python import base64 import os from cryptography.fernet import Fernet from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC def encrypt_data(password: str, data: bytes) -> bytes: password = password.encode() # Convert to type bytes salt = os.urandom(16) kdf = PBKDF2HMAC( algorithm=hashes.SHA256, iterations=100000, salt=salt, length=32, backend=default_backend() ) key = base64.urlsafe_b64encode(kdf.derive(password)) # Derive a secret key from the password f = Fernet(key) encrypted_data = f.encrypt(data) return encrypted_data def decrypt_data(password: str, encrypted_data: bytes) -> bytes: password = password.encode() # Convert to type bytes salt = os.urandom(16) kdf = PBKDF2HMAC( algorithm=hashes.SHA256, iterations=100000, salt=salt, length=32, backend=default_backend() ) key = base64.urlsafe_b64encode(kdf.derive(password)) # Derive a secret key from the password f = Fernet(key) decrypted_data = f.decrypt(encrypted_data) return decrypted_data data = b"my secret data" password = "my_secret_password" encrypted_data = encrypt_data(password, data) print("Encrypted data:", encrypted_data) decrypted_data = decrypt_data(password, encrypted_data) print("Decrypted data:", decrypted_data) ``` 这段代码使用了 Python 库 cryptography 和 Fernet 加密算法来加密和解密数据。使用 PBKDF2HMAC 从用户输入的密码中派生一个密钥,然后使用 Fernet 对数据进行加密和解密。这种加密方式是高安全性的。 ### 回答2: 编写一个比较Python脚本主要取决于个人技术水平和编程经验,以下是一个复杂的示例,用于解析并处理大型CSV文件: ```python import csv def process_csv_file(file_path): # 打开CSV文件 with open(file_path, 'r') as csv_file: # 使用csv模块读取CSV文件 csv_reader = csv.reader(csv_file) # 遍历CSV文件的每一行 for row in csv_reader: # 对每一行进行数据处理和分析 process_row(row) def process_row(row): # 在这里编写数据处理和分析的逻辑 # 可以进行各种操作,如计算、筛选、排序等 # 这里只是一个示例,假设我们要求每一行的和 row_sum = sum([int(value) for value in row]) print(f"行的和:{row_sum}") # 调用函数并传入要处理的CSV文件路径 process_csv_file('example.csv') ``` 需要注意的是,这只是一个示例,实际编写的Python脚本可能要更加复杂和庞大。挑战在于理解和解决实际问题,比如处理大量数据、处理复杂逻辑、使用Python的各种库和模块等。在编写度较高的脚本时,不仅需要具备扎实的编程知识,还需要有耐心和解决问题的能力。 ### 回答3: 编写一个比较Python 脚本可以选择一个复杂的任务,例如解析和分析大量数据,或者实现一个复杂的算法。以下是一个示例脚本的描述: 脚本的任务是从一个包含大量文本文件的文件夹中提取出所有出现频次最高的单词及其出现次数。这个任务相对复杂,需要处理文件的读取、字符串的处理、数据结构的使用以及算法的实现。 首先,脚本将读取指定文件夹中的所有文本文件。然后,使用适当的方法逐个文件读取其内容,并将每个文件的内容存储在一个字符串中。 接下来,脚本将对字符串进行处理,去除标点符号、转换为小写字母,并分割为单词。可以使用正则表达式或内置的字符串处理方法来实现这一步骤。 脚本中可以使用字典数据结构来存储每个单词及其出现次数。遍历每个单词,如果字典中已经存在该单词,则将其出现次数加1;如果字典中不存在该单词,则将其作为新的键,并初始化出现次数为1。 最后,脚本将根据字典中单词的出现次数进行排序,并选择出现次数最多的单词及其出现次数。 这个脚本相对复杂,需要熟悉文件处理、字符串操作、数据结构和算法等知识。编写这样的脚本可以提高编程能力和解决问题的能力。当然,Python 提供了丰富的内置函数和库,可以简化这个任务的实现过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.Boss.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值