最近才开始学习Python,所以请原谅noob问题(一开始可能做得完全错误(
我正在尝试获得与os.system
一起使用的用户输入
import os
account = input("Account name: ")
os.system("op get item + account + | awk -F':' '{print $24}' | cut -d '}' -f 1")
这行代码用于获取和显示1Password中的信息,并仅输出Facebook的密码就是这个例子,它有效,但只要我尝试添加变量,它就会破坏
op get item Facebook | awk -F':' '{print $24}' | cut -d '}' -f 1
我希望这里有人能帮助我或为我指明正确的方向,谢谢!
我认为您需要处理这些命令的输出,因此您可以使用子流程模块:替换Shell Pipeline
例如:
from subprocess import check_output
check_output(f"op get item {account} | awk -F':' '{{print $24}}' | cut -d '}}' -f 1", shell=True)
请注意,在接触系统调用之前,您希望清除帐户变量。:(
您只需要字符串替换,例如使用Python3.6+优雅的
os.system(f"op get item {account} | awk -F':'" + " '{print $24}' | cut -d '}' -f 1")