如何获取用户输入并传入os.system命令实现Powercord主题一键安装
你代码的核心问题是没有接收input()函数的返回值,用户输入的内容没有被赋值给themelink变量,你现在写的themelink = ""是直接把变量设为空值,最后执行git clone的时候后面没有有效参数,肯定会运行失败。
修正后的可运行代码如下:
import os import colorama import time # 接收用户输入的主题链接并赋值给变量 themelink = input("Hi please insert a github powercord theme link: ") print("installing powercord theme...") # 执行安装命令,同时获取命令执行的退出码判断结果 command_exit_code = os.system("cd C:/Users/kai78/powercord/src/Powercord/themes && git clone {}".format(themelink)) if command_exit_code == 0: print("主题安装成功") else: print("主题安装失败,请检查输入的链接是否合法、本地Powercord路径是否正确")
你还可以根据需求做以下优化:
- 给用户输入增加简单校验,比如判断输入内容是否以
https://github.com/开头,避免用户输错无关内容导致命令执行异常 - 不要写死本地用户路径,可以用
os.path.expanduser('~')获取当前系统的用户目录,拼接出通用的Powercord主题路径,适配不同设备的安装环境 - 安全性要求高的话建议用
subprocess.run替代os.system执行命令,既可以避免字符串拼接带来的注入风险,也能更方便地获取命令的执行输出和错误信息
内容的提问来源于stack exchange,提问作者dripdude
相关产品推荐
相关产品推荐

