Python语法及常用用法(4)
81. 使用 concurrent.futures
模块进行并发编程:
from concurrent. futures import ThreadPoolExecutor
def my_function ( value) :
return value * 2
with ThreadPoolExecutor( ) as executor:
result = executor. submit( my_function, 5 )
print ( result. result( ) )
82. 使用 os
模块进行文件和目录操作:
import os
current_directory = os. getcwd( )
print ( current_directory)
new_directory = "my_new_directory"
os. makedirs( new_directory)
files = os. listdir( current_directory)
print ( files)
83. 使用 unittest.mock
进行单元测试的模拟:
from unittest. mock import Mock
mock_obj = Mock( )
mock_obj. method( 42 )
mock_obj. method. assert_called_once_with( 42 )
84. 使用 PyQt
或 Tkinter
创建图形用户界面(GUI):
import tkinter as tk
root = tk. Tk( )
root. title( "My GUI" )
label = tk. Label( root, text= "Hello, Tkinter!" )
label. pack( )
root. mainloop( )
85. 使用 subprocess
模块执行外部命令:
import subprocess
result = subprocess. run( [ "ls" , "-l" ] , capture_output= True , text= True )
print ( result. stdout)
86. 使用 contextlib.redirect_stdout
改变标准输出:
from contextlib import redirect_stdout
with open ( 'output.txt' , 'w' ) as f:
with redirect_stdout( f) :
print ( "This will be written to output.txt" )
87. 使用 shutil
模块进行文件和目录操作:
import shutil
shutil. copy( 'source.txt' , 'destination.txt' )
shutil. copytree( 'source_directory' , 'destination_directory' )
88. 使用 jsonpickle
序列化/反序列化复杂对象:
import jsonpickle
class Person :
def __init__ ( self, name, age) :
self. name = name
self. age = age
person = Person( "Alice" , 30 )
json_str = jsonpickle. encode( person)
print ( json_str)
decoded_person = jsonpickle. decode( json_str)
print ( decoded_person. name, decoded_person. age)
89. 使用 logging.config
配置日志记录:
import logging
import logging. config
log_config = {
'version' : 1 ,
'handlers' : {
'file_handler' : {
'class' : 'logging.FileHandler' ,
'filename' : 'app.log' ,
'level' : 'DEBUG' ,
} ,
} ,
'root' : {
'handlers' : [ 'file_handler' ] ,
'level' : 'DEBUG' ,
} ,
}
logging. config. dictConfig( log_config)
logging. debug( 'This is a debug message' )
90. 使用 time
模块进行时间操作:
import time
timestamp = time. time( )
print ( timestamp)
current_time = time. ctime( timestamp)
print ( current_time)
time. sleep( 1 )
91. 使用 xml.etree.ElementTree
处理 XML 数据:
import xml. etree. ElementTree as ET
root = ET. Element( 'root' )
child = ET. SubElement( root, 'child' )
child. text = 'Hello, XML!'
tree = ET. ElementTree( root)
tree. write( 'example.xml' )
92. 使用 zipfile
模块处理 ZIP 文件:
import zipfile
with zipfile. ZipFile( 'my_archive.zip' , 'w' ) as archive:
archive. write( 'file1.txt' )
archive. write( 'file2.txt' )
with zipfile. ZipFile( 'my_archive.zip' , 'r' ) as archive:
archive. extractall( 'extracted_files' )
93. 使用 struct
模块处理二进制数据:
import struct
packed_data = struct. pack( 'I' , 42 )
print ( packed_data)
unpacked_data = struct. unpack( 'I' , packed_data)
print ( unpacked_data[ 0 ] )
94. 使用 logging.handlers
模块进行日志处理:
import logging
import logging. handlers
handler = logging. handlers. RotatingFileHandler( 'my_log.log' , maxBytes= 1000 , backupCount= 3 )
logging. basicConfig( level= logging. DEBUG, handlers= [ handler] )
logging. debug( 'This is a debug message' )
95. 使用 Pandas
处理和分析数据:
import pandas as pd
data = { 'Name' : [ 'Alice' , 'Bob' , 'Charlie' ] ,
'Age' : [ 25 , 30 , 35 ] ,
'City' : [ 'New York' , 'San Francisco' , 'Los Angeles' ] }
df = pd. DataFrame( data)
print ( df)
96. 使用 Matplotlib
绘制图表:
import matplotlib. pyplot as plt
x = [ 1 , 2 , 3 , 4 , 5 ]
y = [ 2 , 4 , 6 , 8 , 10 ]
plt. plot( x, y, label= 'Line' )
plt. title( 'Simple Line Chart' )
plt. xlabel( 'X-axis' )
plt. ylabel( 'Y-axis' )
plt. legend( )
plt. show( )
97. 使用 NumPy
进行数值计算:
import numpy as np
array = np. array( [ 1 , 2 , 3 , 4 , 5 ] )
mean_value = np. mean( array)
std_dev = np. std( array)
print ( f"Mean: { mean_value} , Standard Deviation: { std_dev} " )
98. 使用 requests
发送 HTTP 请求:
import requests
response = requests. get( 'https://www.example.com' )
print ( response. text)
99. 使用 Django
构建 Web 应用:
100. 使用 Flask
构建轻量级 Web 应用:
from flask import Flask
app = Flask( __name__)
@app. route ( '/' )
def hello_world ( ) :
return 'Hello, World!'
if __name__ == '__main__' :
app. run( )
101. 使用 pytz
处理时区:
from datetime import datetime
import pytz
local_time = datetime. now( )
print ( "Local Time:" , local_time)
tz = pytz. timezone( 'America/New_York' )
new_york_time = local_time. astimezone( tz)
print ( "New York Time:" , new_york_time)
102. 使用 Pillow
处理图像:
from PIL import Image
image = Image. open ( 'example.jpg' )
image. show( )
103. 使用 pyinstaller
将 Python 脚本打包成可执行文件:
104. 使用 cryptography
模块进行加密操作:
from cryptography. fernet import Fernet
key = Fernet. generate_key( )
cipher = Fernet( key)
text = b"Hello, cryptography!"
encrypted_text = cipher. encrypt( text)
print ( "Encrypted Text:" , encrypted_text)
decrypted_text = cipher. decrypt( encrypted_text)
print ( "Decrypted Text:" , decrypted_text. decode( ) )
105. 使用 pydantic
进行数据验证和设置:
from pydantic import BaseModel
class Person ( BaseModel) :
name: str
age: int
person_data = { "name" : "Alice" , "age" : 30 }
person = Person( ** person_data)
print ( person. dict ( ) )
106. 使用 graphql
进行 API 查询:
from graphql import GraphQLError, build_ast_schema, parse, execute
schema_definition = '''
type Query {
hello: String
}
'''
schema = build_ast_schema( parse( schema_definition) )
def resolve_hello ( root, info) :
return "Hello, GraphQL!"
query = '''
{
hello
}
'''
result = execute( schema, parse( query) , root= None , context= None , variables= None , operation_name= None , field_resolver= None , type_resolver= None , middleware= None )
print ( result. data[ 'hello' ] )
107. 使用 APScheduler
进行定时任务调度:
from apscheduler. schedulers. blocking import BlockingScheduler
def my_job ( ) :
print ( "Scheduled job executed!" )
scheduler = BlockingScheduler( )
scheduler. add_job( my_job, 'interval' , seconds= 5 )
scheduler. start( )
108. 使用 fastapi
创建快速的 API:
from fastapi import FastAPI
app = FastAPI( )
@app. get ( "/" )
def read_root ( ) :
return { "message" : "Hello, FastAPI!" }
109. 使用 pymongo
连接 MongoDB 数据库:
from pymongo import MongoClient
client = MongoClient( "mongodb://localhost:27017/" )
db = client[ "mydatabase" ]
collection = db[ "mycollection" ]
document = { "name" : "Alice" , "age" : 30 }
insert_result = collection. insert_one( document)
print ( "Inserted Document ID:" , insert_result. inserted_id)
110. 使用 pydantic
进行数据验证:
from pydantic import BaseModel
class User ( BaseModel) :
username: str
email: str
age: int
user_data = { 'username' : 'john_doe' , 'email' : 'john@example.com' , 'age' : 25 }
user = User( ** user_data)
print ( user)