您当前的位置: 首页 >> 热门资讯

python自动操作excel_Python自动化脚本编写与命令行任务自动执行,新鲜出炉

作者:admin 日期:2025-02-17 点击数:0

⚙️ Python 自动化脚本:编写 Shell 命令行自动化执行脚本自动化脚本是现代开发中不可或缺的一部分,它可以帮助我们提高工作效率,减少重复性劳动Python 是一种非常适合编写自动化脚本的语言,因为其语法简洁、库丰富,并且易于与其他工具集成。

本文将介绍如何使用 Python 编写 Shell 命令行自动化执行脚本,让你的工作更轻松✨ 为什么选择 Python 编写 Shell 脚本?跨平台: Python 可以在 Windows、macOS 和 Linux 等多个操作系统上运行,具有良好的跨平台性。

丰富的库: Python 拥有强大的标准库和第三方库,可以方便地处理各种任务,如文件操作、网络请求、系统命令等可读性强: Python 语法简洁易懂,易于编写和维护易于集成: Python 可以与其他编程语言和工具集成,扩展性强。

🛠️ Python 执行 Shell 命令Python 提供了多种方式来执行 Shell 命令,最常用的方法是使用 subprocess 模块🚀 使用 subprocess.run() 执行命令import subprocess

# 执行一个简单的命令result = subprocess.run(['ls', '-l'], capture_output=True, text=True)# 输出命令执行结果if result.returncode == 0:

print("命令执行成功:")print(result.stdout)else:print(f"命令执行失败,错误代码:{result.returncode}")print(result.stderr)

代码解释:import subprocess 导入 subprocess 模块subprocess.run() 执行一个命令,第一个参数是命令列表,capture_output=True 表示捕获命令的输出,。

text=True 表示以文本格式返回输出result.returncode 返回命令的退出代码,0 表示成功,非 0 表示失败result.stdout 返回命令的标准输出,result.stderr。

返回命令的标准错误输出✍️ 使用 subprocess.Popen() 执行命令import subprocess# 执行一个命令process = subprocess.Popen(['ping', 'www.example.com'],。

stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=True)# 获取命令执行的输出stdout, stderr = process.communicate()

# 输出命令执行结果if process.returncode == 0:print("命令执行成功:")print(stdout)else:print(f"命令执行失败,错误代码:{process.returncode}")

print(stderr)代码解释:subprocess.Popen() 启动一个子进程来执行命令,stdout=subprocess.PIPE 和 stderr=subprocess.PIPE 表示将标准输出和标准错误输出重定向到管道。

process.communicate() 获取命令的输出📝 编写自动化脚本示例下面我们以一些常见的自动化任务为例,演示如何使用 Python 编写自动化脚本📁 批量重命名文件import osimport subprocess

def batch_rename(dir_path, old_str, new_str):"""批量重命名指定目录下的文件名"""for filename in os.listdir(dir_path):

if old_str in filename:new_filename = filename.replace(old_str, new_str)old_path = os.path.join(dir_path, filename)

new_path = os.path.join(dir_path, new_filename)os.rename(old_path, new_path)print(f"重命名:{filename} --> {new_filename}")

if __name__ == "__main__":directory = "./test_dir" # 假设存在./test_dir目录os.makedirs(directory, exist_ok=True)

【星界云手机】,让你的游戏生活变得更加自由!云端托管手游,挂机脚本助你24小时不间断游戏,让你无需花费过多时间和精力,轻松提升游戏实力,成就真正的高手!

for i in range(1,6):with open(f"{directory}/file_v1_{i}.txt","w") as f:f.write(f"this is file {i}")batch_rename(directory, "v1", "v2")

代码解释:os.listdir() 获取指定目录下的所有文件名filename.replace() 将文件名中的 old_str 替换为 new_stros.rename() 重命名文件📦 自动备份文件。

import osimport subprocessfrom datetime import datetimedef auto_backup(src_dir, dest_dir):"""自动备份指定目录到目标目录"""

now = datetime.now().strftime("%Y%m%d_%H%M%S")backup_dir = os.path.join(dest_dir, f"backup_{now}")os.makedirs(backup_dir, exist_ok=True)

cmd = ['cp', '-r', src_dir, backup_dir]result = subprocess.run(cmd, capture_output=True, text=True)if result.returncode == 0:

print(f"备份成功:{src_dir} --> {backup_dir}")else:print(f"备份失败,错误信息:{result.stderr}")if __name__ == "__main__":

source_dir = "./test_dir"backup_dir = "./backup"os.makedirs(source_dir, exist_ok=True)with open(f"{source_dir}/test_file.txt","w") as f:

f.write("this is test file")auto_backup(source_dir, backup_dir)代码解释:datetime.now().strftime("%Y%m%d_%H%M%S")

生成当前时间戳作为备份目录名os.makedirs(backup_dir, exist_ok=True) 创建备份目录subprocess.run() 执行 cp -r 命令进行目录复制🕸️ 自动下载网页。

import subprocessdef auto_download(url, dir_path):"""自动下载指定网页到本地"""os.makedirs(dir_path, exist_ok=True)

cmd = ['wget', '-P', dir_path, url]result = subprocess.run(cmd, capture_output=True, text=True)if result.returncode == 0:

print(f"网页下载成功:{url} --> {dir_path}")else:print(f"网页下载失败,错误信息:{result.stderr}")if __name__ == "__main__":

target_url = "https://www.example.com/"download_dir = "./download_dir"auto_download(target_url, download_dir)

代码解释:使用 wget 工具下载网页⚙️ 最佳实践使用虚拟环境: 创建虚拟环境隔离依赖,避免不同项目之间的依赖冲突使用参数化: 将脚本中的配置信息参数化,方便灵活使用添加日志记录: 记录脚本的运行信息和错误信息,方便调试和监控。

处理异常: 使用 try...except 语句处理可能出现的异常添加注释: 对代码进行注释,提高代码可读性使用模块化设计: 将脚本拆分成多个函数或模块,提高代码可维护性测试脚本: 在正式使用之前,对脚本进行充分的测试。

📚 总结与进阶本文介绍了如何使用 Python 编写 Shell 命令行自动化执行脚本,包括使用 subprocess 模块执行命令,以及编写常见的自动化任务脚本希望通过本文,你能够掌握基本的自动化脚本编写技能,并将其应用到实际工作中,提高工作效率。

进阶学习:深入学习 subprocess 模块的高级功能,如管道、重定向、后台进程等学习使用 argparse 模块解析命令行参数学习使用 logging 模块记录日志使用 schedule 模块定时执行脚本。

使用 Ansible、Fabric 等自动化工具管理和部署脚本。自动化脚本是提升开发效率的重要工具,希望你能在实践中不断学习和提升,成为一名优秀的自动化脚本工程师。

游戏爱好者的福音!【星界云手机】,云端托管手游,帮你实现24小时不间断游戏。挂机脚本助你完成日常任务,让你的游戏之旅更加轻松,让你成为游戏世界的领军者!

本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:631580315@qq.com

标签: