马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1. 批量重定名文件
以下是一个 Python批量重定名指定目次中的文件 的脚本。这个脚本会将目次中的全部文件按照肯定的定名规则重定名,比方添加前缀或后缀,大概按照数字次序定名。- import os
- def batch_rename(directory, prefix='', suffix='', start_number=1):
- """
- 批量重命名指定目录中的文件。
- :param directory: 要重命名的文件所在的目录
- :param prefix: 要添加的前缀字符串
- :param suffix: 要添加的后缀字符串,通常用于指定文件格式,如 '.txt'
- :param start_number: 重命名文件的起始数字
- """
- # 获取指定目录下的所有文件列表
- files = os.listdir(directory)
-
- # 确保不会覆盖已存在的文件
- existing_files = os.listdir(directory)
-
- for index, file in enumerate(files, start=start_number):
- # 构建新的文件名
- file_name, file_extension = os.path.splitext(file)
- new_file_name = f"{prefix}{index}{suffix}{file_extension}"
-
- # 检查新文件名是否已存在
- if new_file_name in existing_files:
- print(f"文件 {new_file_name} 已存在,跳过重命名。")
- continue
- # 构建完整的旧文件路径和新文件路径
- old_file = os.path.join(directory, file)
- new_file = os.path.join(directory, new_file_name)
-
- # 重命名文件
- try:
- os.rename(old_file, new_file)
- print(f"文件 '{file}' 已重命名为 '{new_file_name}'")
- except OSError as e:
- print(f"重命名 '{file}' 时出错: {e}")
-
- # 使用示例
- # 假设我们要重命名当前目录下的所有文件,添加前缀 'new_',后缀 '.txt',从数字 1 开始
- batch_rename('.', 'new_', '.txt', 1)
复制代码 在使用这个脚本之前,须要使用管理员权限运行步伐以确保有权限修改目的目次中的文件,而且备份告急文件以防万一。这个脚本会遍历指定目次中的全部文件,并为它们分配一个新的文件名。可以根据须要修改prefix、suffix和start_number参数。
留意: 在运行这个脚本之前,须要将 '.' 更换为你想要重定名文件的现实目次路径。别的,假如你想要保存原来的文件扩展名,请不要在suffix参数中包罗点号(.)。假如你想要为全部文件添加雷同的扩展名,可以在suffix参数中指定它。
2. 定时发送邮件
以下是一个使用 Python 的smtplib和email库来定时发送邮件的脚本。这个脚本会设置一个SMTP服务器,创建一个简朴的电子邮件,并设置一个定时器来发送邮件。- import smtplib
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- import time
- from datetime import datetime
- # 邮件发送者信息
- sender_email = "[email protected]" # 发送者邮箱
- sender_password = "your_password" # 发送者邮箱密码或SMTP授权码
- # 邮件接收者信息
- receiver_email = "[email protected]" # 接收者邮箱
- # 邮件内容
- subject = "定时发送的邮件"
- body = "这是一封定时发送的邮件。"
- # SMTP服务器配置(以QQ邮箱为例)
- smtp_server = "smtp.qq.com"
- smtp_port = 465
- # 定时发送时间,例如每天早上8点(根据你的时区调整)
- target_time = datetime.strptime("08:00:00", "%H:%M:%S").time()
- def send_email():
- # 创建MIME邮件对象
- message = MIMEMultipart()
- message["From"] = sender_email
- message["To"] = receiver_email
- message["Subject"] = subject
- # 添加邮件正文
- message.attach(MIMEText(body, 'plain'))
- # 连接到SMTP服务器并使用SSL加密
- server = smtplib.SMTP_SSL(smtp_server, smtp_port)
- # 登录SMTP服务器
- server.login(sender_email, sender_password)
- # 发送邮件
- server.sendmail(sender_email, receiver_email, message.as_string())
- print("邮件已发送。")
- # 关闭服务器连接
- server.quit()
-
- def run_at_specific_time():
- while True:
- # 获取当前时间
- now = datetime.now()
- current_time = now.time()
- # 如果当前时间等于目标时间,则发送邮件
- if current_time >= target_time and current_time < target_time + time.timedelta(minutes=1):
- send_email()
- # 为了避免在一分钟内重复发送,休眠60秒
- time.sleep(60)
- else:
- # 每隔60秒检查一次时间
- time.sleep(60)
-
- # 运行定时任务
- run_at_specific_time()
复制代码 在运行脚本之前,确保信息已经准确填写:
- sender_email: 发送者邮箱地点
- sender_password: 发送者邮箱暗码或SMTP授权码(某些邮箱服务商须要天生一个授权码用于第三方登录)
- receiver_email: 吸收者邮箱地点
- smtp_server 和 smtp_port: 你的邮箱服务商的SMTP服务器地点和端口
- target_time: 渴望脚本实行发送邮件的时间
留意:
- 在使用之前,确保已经安装了Python,而且安装了smtplib和email库(这些是Python尺度库,通常不须要单独安装)。
- 脚本中的run_at_specific_time函数将无穷循环查抄当前时间,并在设定的时间发送邮件。它不会思量日期的厘革,因此假如你须要天天发送邮件,你须要思量日期的厘革,并相应地修改脚本。
- 为了掩护你的邮箱暗码,发起不要将暗码直接硬编码在脚本中,可以使用情况变量或其他安全方式来存储敏感信息。
- 假如你的SMTP服务器不支持SSL,请使用smtplib.SMTP()取代smtplib.SMTP_SSL(),并在毗连后使用server.starttls()来启用TLS加密。
3. 自动填表
以下是一个用 Pandas 库自动添补 CSV文件的脚本。假设我们有一个 CSV文件,它有两列:Name和Age,我们将自动添补一些数据。
起首,确保你已经安装了 Pandas 库。假如没有安装,可以使用以下下令安装:以下是添补 CSV文件的脚本示例:- import pandas as pd
- from random import randint, choice
- from string import ascii_uppercase
- # 定义要填充的数据量
- num_entries = 10
- # 创建一个空的DataFrame
- df = pd.DataFrame(columns=['Name', 'Age'])
- # 生成随机数据并填充DataFrame
- for _ in range(num_entries):
- # 随机生成姓名,例如:'PersonABC'
- name = 'Person' + ''.join(choice(ascii_uppercase) for _ in range(3))
- # 随机生成年龄,例如:18至65岁
- age = randint(18, 65)
- # 添加到DataFrame
- df = df.append({'Name': name, 'Age': age}, ignore_index=True)
- # 输出DataFrame内容
- print(df)
- # 将DataFrame保存到CSV文件
- df.to_csv('filled_table.csv', index=False)
复制代码 这个脚本做了以下几件事变:
- 导入所需的库。
- 界说要天生多少条数据。
- 创建一个空的 DataFrame,此中包罗我们想要添补的列。
- 在一个循环中,天生随机的姓名和年龄,并将它们添加到 DataFrame 中。
- 打印 DataFrame 的内容。
- 将 DataFrame 生存到 CSV文件。
运行这个脚本后,你将在当前目次下得到一个名为filled_table.csv的文件,此中包罗随机天生的姓名和年龄数据。
|