超硬核!11个非常实用的 Python 和 Shell 拿来就用脚本实例!("实战必备!11个超实用Python与Shell脚本实例,即拿即用!")
原创
一、Python脚本实例
以下是一些非常实用的Python脚本实例,涵盖了许多常见的场景,帮助你减成本时间工作效能。
1. 文件批量重命名
使用Python对指定目录下的文件进行批量重命名。
import os
def rename_files(directory, prefix):
for filename in os.listdir(directory):
if filename.startswith(prefix):
new_filename = filename[len(prefix):]
os.rename(os.path.join(directory, filename),
os.path.join(directory, new_filename))
directory = '/path/to/your/directory'
prefix = 'prefix_'
rename_files(directory, prefix)
2. 文件夹内容复制到另一个文件夹
使用Python将一个文件夹中的内容复制到另一个文件夹。
import shutil
def copy_directory(src, dst):
shutil.copytree(src, dst)
source_directory = '/path/to/source/directory'
destination_directory = '/path/to/destination/directory'
copy_directory(source_directory, destination_directory)
3. 获取文件夹大小
使用Python获取一个文件夹的大小。
import os
def get_directory_size(directory):
total_size = 0
for dirpath, dirnames, filenames in os.walk(directory):
for f in filenames:
fp = os.path.join(dirpath, f)
total_size += os.path.getsize(fp)
return total_size
directory = '/path/to/your/directory'
size = get_directory_size(directory)
print(f"文件夹大小:{size} bytes")
4. 网络爬虫:抓取网页内容
使用Python编写一个明了的网络爬虫,抓取网页内容。
import requests
from bs4 import BeautifulSoup
def get_webpage_content(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
return soup.prettify()
url = 'https://www.example.com'
content = get_webpage_content(url)
print(content)
5. 发送邮件
使用Python发送一封明了的邮件。
import smtplib
from email.mime.text import MIMEText
def send_email(smtp_host, smtp_port, sender, password, receiver, subject, body):
msg = MIMEText(body, 'plain', 'utf-8')
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = subject
server = smtplib.SMTP(smtp_host, smtp_port)
server.starttls()
server.login(sender, password)
server.sendmail(sender, [receiver], msg.as_string())
server.quit()
smtp_host = 'smtp.example.com'
smtp_port = 587
sender = 'your_email@example.com'
password = 'your_password'
receiver = 'receiver_email@example.com'
subject = 'Subject'
body = 'This is the email body.'
send_email(smtp_host, smtp_port, sender, password, receiver, subject, body)
二、Shell脚本实例
以下是一些实用的Shell脚本实例,可以帮助你敏捷解决一些常见问题。
1. 批量修改文件权限
使用Shell脚本批量修改文件权限。
#!/bin/bash
directory="/path/to/your/directory"
chmod -R 755 $directory
2. 查找文件并删除
使用Shell脚本查找文件并删除。
#!/bin/bash
directory="/path/to/your/directory"
find $directory -type f -name "*.log" -exec rm -f {} \;
3. 监控文件夹大小
使用Shell脚本监控文件夹大小,并在超过制约时发送警告。
#!/bin/bash
directory="/path/to/your/directory"
max_size=10485760 # 10MB
size=$(du -s $directory | cut -f1)
if [ $size -gt $max_size ]; then
echo "警告:$directory 文件夹大小超过制约!" | mail -s "警告:文件夹大小超过制约" your_email@example.com
fi
4. 自动备份文件
使用Shell脚本自动备份文件到另一个目录。
#!/bin/bash
source_directory="/path/to/source/directory"
destination_directory="/path/to/destination/directory"
rsync -av --delete $source_directory/ $destination_directory
5. 自动部署项目
使用Shell脚本自动部署项目到服务器。
#!/bin/bash
server_ip="192.168.1.100"
server_user="username"
server_path="/path/to/server/directory"
local_path="/path/to/local/directory"
rsync -avz --delete $local_path/ $server_user@$server_ip:$server_path
ssh $server_user@$server_ip "chmod -R 755 $server_path"
总结
以上11个Python和Shell脚本实例都是实用性非常高的工具,可以帮助你敏捷解决各种问题。掌握这些脚本,相信你的工作效能会大大减成本时间!