能否在Python程序中调用终端命令,实现Mac端VSCode自动卸载?
实现方案
可以直接通过Python标准库subprocess模块调用终端命令实现自动卸载,无需安装第三方依赖,你可以直接使用下方的现成代码,也可以根据自己之前验证过的卸载步骤调整命令内容。
前置注意事项
- 执行脚本前请完全退出VSCode,避免文件占用导致部分数据无法删除,卸载不完整
- 脚本需要管理员权限运行,执行时会要求输入系统密码
- 卸载操作会清除所有VSCode相关的配置、扩展、本地缓存数据,操作前请确认没有需要备份的内容
完整Python代码
import subprocess import os # 可根据你验证过的卸载步骤调整下方命令列表 uninstall_commands = [ # 删除VSCode主应用 "rm -rf '/Applications/Visual Studio Code.app'", # 删除用户配置文件 "rm -rf ~/Library/Application\ Support/Code", # 删除缓存文件 "rm -rf ~/Library/Caches/com.microsoft.VSCode", "rm -rf ~/Library/Caches/com.microsoft.VSCode.ShipIt", # 删除偏好设置 "rm -rf ~/Library/Preferences/com.microsoft.VSCode.plist", # 删除扩展安装目录 "rm -rf ~/.vscode" ] def run_single_command(cmd): print(f"当前执行命令:{cmd}") # 直接输出命令执行过程到终端,方便排查问题 result = subprocess.run(cmd, shell=True, capture_output=False, text=True) if result.returncode != 0: print(f"提示:当前命令执行返回非0值,大概率是对应路径不存在,可忽略该警告\n") else: print("命令执行成功\n") if __name__ == "__main__": # 校验管理员权限 if os.geteuid() != 0: print("运行错误:请使用sudo前缀运行该脚本,以获取文件删除权限") exit(1) print("===== 开始执行VSCode卸载 =====") for cmd in uninstall_commands: run_single_command(cmd) print("===== VSCode卸载完成 =====")
使用方法
- 将上述代码保存为名为
uninstall_vscode.py的文件 - 打开终端,进入该文件保存的文件夹
- 执行命令
sudo python3 uninstall_vscode.py,输入系统密码后等待脚本执行完毕即可
补充说明
如果需要实现卸载后自动重装的逻辑,你可以在脚本末尾新增VSCode的下载、安装命令,完成全流程自动化操作,无需手动干预。
内容的提问来源于stack exchange,提问作者Rick Segal
相关产品推荐
相关产品推荐

