您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在现代软件开发中,Python和Shell脚本是两种非常强大的工具。Python以其简洁的语法和丰富的库而闻名,适用于各种复杂的任务,如数据分析、机器学习、Web开发等。而Shell脚本则是在Unix/Linux系统中进行系统管理和自动化任务的利器。本文将详细介绍一些实用的Python和Shell脚本,帮助读者更好地理解和应用这两种工具。
import os
def batch_rename_files(directory, prefix):
for count, filename in enumerate(os.listdir(directory)):
dst = f"{prefix}_{str(count)}.txt"
src = os.path.join(directory, filename)
dst = os.path.join(directory, dst)
os.rename(src, dst)
# 使用示例
batch_rename_files("/path/to/directory", "file")
import re
def search_and_replace(file_path, search_pattern, replace_pattern):
with open(file_path, 'r') as file:
filedata = file.read()
filedata = re.sub(search_pattern, replace_pattern, filedata)
with open(file_path, 'w') as file:
file.write(filedata)
# 使用示例
search_and_replace("/path/to/file.txt", r'\bfoo\b', 'bar')
import requests
from bs4 import BeautifulSoup
def fetch_webpage(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
return soup
# 使用示例
soup = fetch_webpage("https://example.com")
print(soup.title.string)
import os
import requests
def download_images(url, save_directory):
if not os.path.exists(save_directory):
os.makedirs(save_directory)
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for img in soup.find_all('img'):
img_url = img['src']
img_data = requests.get(img_url).content
img_name = os.path.join(save_directory, os.path.basename(img_url))
with open(img_name, 'wb') as img_file:
img_file.write(img_data)
# 使用示例
download_images("https://example.com", "/path/to/save")
import csv
def read_csv(file_path):
with open(file_path, mode='r') as file:
reader = csv.DictReader(file)
return [row for row in reader]
def write_csv(file_path, data):
with open(file_path, mode='w', newline='') as file:
writer = csv.DictWriter(file, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
# 使用示例
data = read_csv("/path/to/input.csv")
write_csv("/path/to/output.csv", data)
import json
def read_json(file_path):
with open(file_path, 'r') as file:
return json.load(file)
def write_json(file_path, data):
with open(file_path, 'w') as file:
json.dump(data, file, indent=4)
# 使用示例
data = read_json("/path/to/input.json")
write_json("/path/to/output.json", data)
import schedule
import time
def job():
print("I'm working...")
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
while True:
schedule.run_pending()
time.sleep(1)
import smtplib
from email.mime.text import MIMEText
def send_email(subject, body, to_email):
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = 'your_email@example.com'
msg['To'] = to_email
with smtplib.SMTP('smtp.example.com') as server:
server.login('your_email@example.com', 'your_password')
server.sendmail('your_email@example.com', [to_email], msg.as_string())
# 使用示例
send_email("Test Subject", "This is a test email.", "recipient@example.com")
import psutil
def monitor_system():
cpu_usage = psutil.cpu_percent(interval=1)
memory_info = psutil.virtual_memory()
print(f"CPU Usage: {cpu_usage}%")
print(f"Memory Usage: {memory_info.percent}%")
# 使用示例
monitor_system()
import shutil
def monitor_disk_space():
disk_usage = shutil.disk_usage("/")
print(f"Total: {disk_usage.total / (2**30):.2f} GB")
print(f"Used: {disk_usage.used / (2**30):.2f} GB")
print(f"Free: {disk_usage.free / (2**30):.2f} GB")
# 使用示例
monitor_disk_space()
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)
# settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp',
]
# views.py
from django.http import HttpResponse
def home(request):
return HttpResponse("Hello, World!")
from sklearn.linear_model import LinearRegression
import numpy as np
# 示例数据
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([1, 3, 2, 3, 5])
# 创建模型
model = LinearRegression()
model.fit(X, y)
# 预测
predictions = model.predict(np.array([[6]]))
print(predictions)
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, MaxPooling2D, Flatten
# 创建模型
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)),
MaxPooling2D(pool_size=(2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 训练模型
# model.fit(X_train, y_train, epochs=10, batch_size=32)
#!/bin/bash
directory="/path/to/directory"
prefix="file"
count=1
for file in "$directory"/*; do
mv "$file" "$directory/${prefix}_$count.txt"
count=$((count + 1))
done
#!/bin/bash
file_path="/path/to/file.txt"
search_pattern="foo"
replace_pattern="bar"
sed -i "s/$search_pattern/$replace_pattern/g" "$file_path"
#!/bin/bash
echo "Hostname: $(hostname)"
echo "CPU Info: $(lscpu | grep 'Model name')"
echo "Memory Info: $(free -h | grep Mem)"
echo "Disk Usage: $(df -h /)"
#!/bin/bash
# 添加用户
adduser newuser
# 删除用户
deluser olduser
# 修改用户密码
passwd username
#!/bin/bash
# 查看网络接口
ifconfig
# 配置静态IP
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# 重启网络服务
service networking restart
#!/bin/bash
ping -c 4 google.com
# 测试端口连通性
nc -zv example.com 80
#!/bin/bash
# 添加定时任务
(crontab -l 2>/dev/null; echo "0 * * * * /path/to/script.sh") | crontab -
# 查看定时任务
crontab -l
#!/bin/bash
# 配置日志轮转
cat <<EOF > /etc/logrotate.d/myapp
/path/to/logfile.log {
daily
rotate 7
compress
missingok
notifempty
}
EOF
#!/bin/bash
logfile="/var/log/syslog"
# 查找错误日志
grep "ERROR" "$logfile"
# 统计日志行数
wc -l "$logfile"
#!/bin/bash
tail -f /var/log/syslog | grep "ERROR"
#!/bin/bash
backup_dir="/path/to/backup"
source_dir="/path/to/source"
# 创建备份目录
mkdir -p "$backup_dir"
# 备份文件
rsync -av "$source_dir" "$backup_dir"
#!/bin/bash
backup_dir="/path/to/backup"
db_name="mydatabase"
# 创建备份目录
mkdir -p "$backup_dir"
# 备份数据库
mysqldump -u root -p"$db_password" "$db_name" > "$backup_dir/$db_name.sql"
Python和Shell脚本在自动化、系统管理、数据处理等方面有着广泛的应用。通过本文的介绍,读者可以了解到一些实用的脚本示例,并根据自己的需求进行修改和扩展。无论是文件处理、网络爬虫、系统监控,还是自动化任务、日志分析、备份与恢复,Python和Shell脚本都能提供强大的支持。希望本文能帮助读者更好地掌握这两种工具,并在实际工作中发挥它们的优势。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。